Ver Mensaje Individual
  #2  
Antiguo 15-04-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 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
Cita:
Esto es lo que pretendo:

Poder desplazarme con las flechas arriba/abajo sin que salte el OnChange ni el OnClck hasta que pulse Enter o haga Click en un item concreto.
Hola jhonalone.

Creo que no entiendo la lógica de lo que buscas, pero voy a responder estríctamente a tu consulta:

En realidad sería sólo hasta que se pulse Enter, ya que en teoría OnClick estaría desactivado y por lo tanto no debería ser capturado:
Código Delphi [-]
...
// Desactivar eventos OnClik y OnChange
procedure TForm1.FormCreate(Sender: TObject);
begin
  ComboBox1.OnClick:= nil;
  ComboBox1.OnChange:= nil;
end;
...
// Activar o desactivar eventos OnClick y OnChange
procedure TForm1.ComboBox1KeyPress(Sender: TObject; var Key: Char);
begin
  // si es Enter y es el item en concreto (2 por ej.) => activar eventos
  if (Key =#13)and(ComboBox1.ItemIndex = 2) then
  begin
    ComboBox1.OnClick:= ComboBox1Click;
    ComboBox1.OnChange:= ComboBox1Change
  end
  else  // si no => desactivar eventos
  begin
    ComboBox1.OnClick:= nil;
    ComboBox1.OnChange:= nil
  end;
end;
Pero no visualizo la aplicabilidad de ese código... Concretamente, ¿ Que es lo que tratas de hacer ?

Saludos.
__________________
Daniel Didriksen

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