| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
siervo Cdt

Registrado: 16 Nov 2005Mensajes: 5
|
Publicado: Mar 05 Dic, 2006 6:32 pm Asunto: El ComboBox no responde al click del mouse |
|
|
Hola a todos,
Estoy haciendo una aplicación en la cual necesito hacer algo cuando se hace click sobre un ComboBox.
El problema es que aunque ya definí el evento OnClick del combobox, el evento no se dispara cuando hago click sobre él.
¿Alguien sabe a que se puede deber este problema?
Saludos.
P.D. Estoy usando Builder 6 |
|
| Volver arriba |
|
 |
Buildero Master


Registrado: 23 Dic 2003Mensajes: 523Ubicación: Puebla, México
|
Publicado: Mar 05 Dic, 2006 6:55 pm Asunto: |
|
|
Que tal siervo
Pues resulta que en el caso del ComboBox como en algunos otros componentes, este evento se dispara cuanda seleccionas un elemento de la lista. Si tu combo no tiene elementos, no se diparará.
Esto es lo que dice la ayuda:
| Cita: | TControl::OnClick
Occurs when the user clicks the control.
__property Classes::TNotifyEvent OnClick = {read=FOnClick, write=FOnClick, stored=
IsOnClickStored};
Description
Use the OnClick event handler to respond when the user clicks the control. If the control has an associated action, and that action has an OnExecute method, the action’s OnExecute method responds to click events unless it is superseded by an OnClick event handler.
Usually OnClick occurs when the user presses and releases the left mouse button with the mouse pointer over the control. This event can also occur when
The user selects an item in a grid, outline, list, or combo box by pressing an arrow key.
The user presses Spacebar while a button or check box has focus.
The user presses Enter when the active form has a default button (specified by the Default property).
The user presses Esc when the active form has a cancel button (specified by the Cancel property).
The user presses the accelerator key for a button or check box. For example, if the value of the Caption property of a check box is '&Bold', the B is underlined at runtime and the OnClick event of the check box is triggered when the user presses Alt+B.
The Checked property of a radio button is set to true.
The value of the Checked property of a check box is changed.
The Click method of a menu item is called.
For a form, an OnClick event occurs when the user clicks a blank area of the form or on a disabled component. |
Saludos! _________________ Quien hace una pregunta teme parecer un ignorante durante cinco minutos, quien no pregunta se mantiene ignorante toda la vida. |
|
| Volver arriba |
|
 |
siervo Cdt

Registrado: 16 Nov 2005Mensajes: 5
|
Publicado: Mar 05 Dic, 2006 8:16 pm Asunto: |
|
|
Gracias Buildero,
Ya chequé lo que me dijiste y tienes razón, el evento OnClick del ComBox solo se dispara cuando haces click sobre un elemento de la lista. Sin embargo, yo necesito que se dispare siempre que se haga un click sobre el ComboBox, aunque la lista esté vacia.
Revisando las propiedades del ComboBox encontré que ControlStyle controla como responde el ComboBox al mouse. Dicha propiedad no puede ser modificada mas que en el constructor de la clase, por lo que creé una nueva clase MiComboBox que hereda de TComboBox y en el constructor activo el atributo csClickEvents. Esto funciona a medias, porque ahora sí ya se genera el evento OnClick pero solo cuando se hace click sobre el marco o sobre la flecha del ComboBox, pero no cuando se hace click sobre el área de escritura (la parte blanca).
Si alguien sabe como hacerle para hacer que se genere el evento OnClick cuando se hace click sobre cualquier parte del ComboBox se lo agradecería mucho.
Saludos. |
|
| Volver arriba |
|
 |
Felip Master

Registrado: 09 Jun 2004Mensajes: 200
|
Publicado: Mie 06 Dic, 2006 3:50 am Asunto: |
|
|
| Código: |
// evento OnSelect:
void __fastcall TForm1::ComboBox1Select(TObject *Sender)
{
// .... code
}
|
|
|
| Volver arriba |
|
 |
Touchsoftwares Master


Registrado: 16 Dic 2002Mensajes: 869Ubicación: MEXICO Playa del Carmen
|
Publicado: Mie 06 Dic, 2006 4:38 am Asunto: |
|
|
void __fastcall TfrmMenu::cboGrupoEnter(TObject *Sender)
{
} _________________ Ing. Gabriel Góngora Navarrete
TouchSoftwares Inc
http://www.touchsoftwares.com |
|
| Volver arriba |
|
 |
|