Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 10-08-2012
novato_erick novato_erick is offline
Miembro
 
Registrado: ago 2010
Ubicación: Panamá
Posts: 396
Poder: 14
novato_erick Va por buen camino
Mil gracias roman por tu atencion nuevamente pero aun tengo mis dudas a ver si me puedes resolver.

a que se refiere con:

Cita:
"Un procedimiento como MiWindowProc nunca se manda llamar explícitamente en código"

y tengo 4 dbedit que quiero que me haga lo mismo cual seria tu sugerencia?

Saludos...
Responder Con Cita
  #2  
Antiguo 10-08-2012
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Ese tipo de procedimientos, sólamente se registran en Windows, y es éste quien los llama cuando hay algún evento que notificar. Es decir, que el código que pongas ahí, sí se va a ejecutar, pero lo hace directamente el sistema opertaivo y no tu código.

Lo de los 4 dbedit, pues primro pueba si funciona con uno y ya luego vemos el resto

// Saludos
Responder Con Cita
  #3  
Antiguo 10-08-2012
novato_erick novato_erick is offline
Miembro
 
Registrado: ago 2010
Ubicación: Panamá
Posts: 396
Poder: 14
novato_erick Va por buen camino
si claro ya funciono en el primer DBEdit...

Saludos...
Responder Con Cita
  #4  
Antiguo 11-08-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Otro enfoque, tal vez un poco menos elegante, puede ser:
Código Delphi [-]
...
implementation

procedure TForm1.DBEditContextPopup(Sender: TObject; MousePos: TPoint; var Handled: Boolean);
begin
  Handled:= True;
end;

procedure TForm1.DBEditKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
var
  Msg: TMsg;
begin
  if ((Shift = [ssCtrl] ) and (Key = Ord('V'))) then  // Ctrl+V
    PeekMessage(Msg, 0, WM_CHAR, WM_CHAR, PM_REMOVE);
  if (Shift = [ssShift])and(Key = VK_INSERT) then     // Shift+Insert
    Key:=0;
end;

procedure TForm1.FormCreate(Sender: TObject);
var
  i: Integer;
begin
  for i:= 0 to ComponentCount-1 do
    if Components[i] is TDBEdit then
    begin
      TDBEdit(Components[i]).OnContextPopup:= DBEditContextPopup;
      TDBEdit(Components[i]).OnKeyDown:= DBEditKeyDown;
    end;
end;
...

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #5  
Antiguo 12-08-2012
novato_erick novato_erick is offline
Miembro
 
Registrado: ago 2010
Ubicación: Panamá
Posts: 396
Poder: 14
novato_erick Va por buen camino
Cita:
Hola.

Otro enfoque, tal vez un poco menos elegante, puede ser:
eficsa Gracias por tu enfoque es interesante aunque sabemos que un usuario si no le aparece un comportamiento que es acostumbrado nos dicen: "El sistema no Sirve".... Así que para darle un poco de colorido agregue algo en este procedimiento simple de novato como mi persona pero da un toque a tu código eficsa.

Código Delphi [-]
procedure TfrmIngresoCliente.DBEditContextPopup(Sender: TObject; MousePos: TPoint; var Handled: Boolean);
begin
   showmessage ('no se pertime tal cosa');// Este mensaje es lo diferente nada mas...
   Handled:= true;
end;

Pero hay algo que me gustaría arreglar... quiero que ese comportamiento solamente se de en ciertos dbedit por ejemplo en Dos Edit no e todo el form. trate desde los eventos de cada DBEdit que necesito pero nada.


que me sugieres?


//Saludos
Responder Con Cita
  #6  
Antiguo 12-08-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Podes agregarle los eventos sólo a los edits que desees. Ya sea por código como en el ejemplo que te puse, o desde el Object Inspector en tiempo de diseño.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
¿Cómo evitar que al cerrar el formulario principal se cierren los demás? Master23 Varios 5 06-06-2010 13:14:46
Evitar cerrar formulario principal si hay librerías cargadas dinámicamente ContraVeneno Varios 5 03-07-2008 16:21:14
Evitar en un TEdit --> tecla suprimir y Boton derecho del raton - Pegar mancurnino Varios 8 20-04-2008 04:39:39
TEdit, evitar copiar y pegar casacham OOP 6 12-04-2008 10:38:26
Evitar cerrar un formulario desde un componente genius Varios 1 23-11-2006 15:55:42


La franja horaria es GMT +2. Ahora son las 18:19:08.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi