FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
Para conseguir que un ComboBox estilo csOwnerDrawFixed escriba el Texto cuando su ItemIndex es -1, es decir, cuando no se ha elegido ninguna opción, podemos realizar un SubClassing y manejar el mensaje WM_PAINT.
Dado que la propiedad Text del ComboBox queda inhabilitada, en el ejemplo uso el Tag para almacenar un puntero char pero el texto se puede manejar como se quiera, siempre y cuando la función CBProc que va a tratar el Mensaje WM_PAINT tenga acceso a él. Nótese que el tratamiento de WM_PAINT se realiza con API y no con VCL, esto es debido a que WM_PAINT empieza a ser llamado antes de que el Canvas del ComboBox esté operativo. Muestro un ejemplo completo de un formulario con un ComboBox. Este sería el archivo.h Código PHP:
Este sería el archivo.cpp Código PHP:
Saludos. Última edición por escafandra fecha: 02-03-2024 a las 23:07:55. |
#2
|
||||
|
||||
Ajustando un poco ComboBox1DrawItem para que centre bien la opción elegida al dibujarla en la zona EDIT del ComboBox:
Código PHP:
El ajuste con GetSystemMetrics(SM_CXVSCROLL) es para que al desplegar el ComboBox no de la sensación de incoherencia en el centrado entre Items y la zona EDIT. Saludos. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Manejo de excepciones de base datos sql con c++builder6 | michal | C++ Builder | 1 | 06-09-2017 09:58:06 |
Dudas con TDBGrid | FrianxD | C++ Builder | 4 | 05-10-2008 20:26:54 |
dudas para editar en TDBGrid | pborges36 | Conexión con bases de datos | 6 | 22-08-2008 15:08:09 |
Combobox con checkbox en Delphi7 o Builder6?? | hexman23 | Varios | 1 | 18-05-2007 21:31:40 |
TComboBox | calogero | Varios | 5 | 19-01-2007 17:20:20 |
|