![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Hola gulder, como te dice mayanes tienes que utilizar el evento OnDrawItem del ComBoBox y su propiedad Style en csOwnerDrawFixed.
Este ejemplo te pinta el item 1 y 4, tu debes establecer tu condición.
Mayanes una pregunta, si se le da un tamaño grande que pase el alto que tiene cada item, el texto se corta, ¿como se puede hacer para que el alto del item se adecue al tamaño de letra?. Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar. |
|
#2
|
||||
|
||||
|
hola como andan maeyanes, Caro gracias por sus respuestas estan muy buenas y me uno a caro en la pregunta que le hace la cual es la siguientes
Mayanes una pregunta, si se le da un tamaño grande que pase el alto que tiene cada item, el texto se corta, ¿como se puede hacer para que el alto del item se adecue al tamaño de letra?. saludos gulder-gan y gracias
__________________
|
|
#3
|
|||
|
|||
|
Hola...
Para eso es el valor csOwnerDrawVariable, junto con los eventos OnMeasureItem y OnDrawItem. Con el evento OnMeasureItem estableces el alto del item en pixeles. Un pequeño ejemplo:
Saludos... |
|
#4
|
||||
|
||||
|
bueno maeyanes me salio un error me dice que canvas no esta declarada o algo asi saludoes men
__________________
Última edición por gulder fecha: 24-11-2008 a las 19:13:37. |
|
#5
|
||||
|
||||
|
Cita:
pero nada, el TextHeigth me devuelve siempre el mismo alto para todos los items y es ese mismo alto que le asigna a Heigth, por si acaso también puse la propiedad Style con csOwnerDrawVariable, ¿me puedes decir en que me estoy equivocando?. Saluditos...
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar. |
|
#6
|
|||
|
|||
|
Hola...
Bueno, ya que lo mencionas veo que cometí algunos errores... ![]() La forma correcta sería:
Saludos... |
|
#7
|
||||
|
||||
|
Hola de nuevo Mayanes, sigue sin funcionarme, tampoco funciona definiendo el tamaño en el OnMeasureItem (esto con el canvas.font) como en tu ultimo ejemplo, solo aclarar que el OnMeasureItem se ejecuta antes que el OnDrawItem, sera que puedas probarlo con el ejemplo que puse arriba en mi primer mensaje. Otra cosita, lo que te devuelve esto Canvas.TextHeight(Items[Index]); es el alto del ComboBox y al final el alto del texto lo pone con el que esta en diseño, osea no cambia nada.
Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar. |
|
#8
|
||||
|
||||
|
maeyanes que pena con voz pero tampoco me funcio lo del ejemplo men saludes y gacias por estar pendiente del problema
__________________
|
|
#9
|
|||
|
|||
|
Hola...
Estuve checando con un pequeño programa de ejemplo y es cierto lo que comentas... Del lado del evento OnMeasureItem, veo que el valor que devuelve lo usa el componente para establecer su alto y si lo desactivo no se dibujan bien los items. Del lado del evento OnDrawItem, hay que tener en cuenta el valor del parámetro State para dibujar los diferentes estados. Aquí los eventos que usé para las pruebas:
Saludos... |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Cómo colocar el resultado de una consulta en un ComboBox??? | gusanita | Varios | 8 | 16-05-2008 01:58:50 |
| colocar tablas bd en un combobox | vivamotos | C++ Builder | 3 | 07-09-2006 15:35:17 |
| Imprir en una matricial con tamaños diferentes de letra | asegurpe | Impresión | 3 | 17-04-2004 16:29:50 |
| Tipo Letra en Excel | bbjb | Servers | 0 | 04-07-2003 14:33:06 |
|