Ver Mensaje Individual
  #13  
Antiguo 09-10-2010
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:
Empezado por WPascal Ver Mensaje
Ok Ecfisa, intentaré hacer lo que me estás sugiriendo, el primer código que me sugeriste para darle foco al ComboBox , se lo puedo asignar a un botón, cierto?
me podrías explicar más o menos cómo funciona? Saludos
Contestando a tus preguntas, si. Se lo podés asignar a un botón sin problemas, y funcionará siempre que primero situes el foco en el Combo.

CB_SHOWDROPDOWN es un mensaje para decirle a windows que oculte o muestre el Combo. (siempre que este no tenga el estilo igual a csSimple)

Podés enviar mensajes con dos funciones más: SendMessage y PostMessage:
PostMessage pone el mensaje en la cola y retorna , sólo devuelve si se pudo insertar el mensaje o no.
SendMessage espera que se procese el mensaje y retorna, devuelve mensajes de consulta.

Ejemplos:
Código Delphi [-]
  (* consulta si el combo está replegado y si es así lo despliega *)
  if SendMessage(ComboBox1.Handle, CB_GETDROPPEDSTATE, 0, 0) <> 1 then
    SendMessage(ComboBox1.Handle, CB_SHOWDROPDOWN, 1, 0);   
  (* pone el mensaje desplegar combo en cola *)
   PostMessage(ComboBox1.Handle, CB_SHOWDROPDOWN, 1, 0);

Saludos.
Responder Con Cita