FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Aspecto de un combobox
¿Existe la posibilidad de cambiar la altura de un TComboBox? Ahora mismo tengo varios puestos en un formulario pero por más que lo intento no puedo reducir la altura y el aspecto que queda es bastante feo porque los combos son más grandes que los TEdit que hay en el resto del formulario.
|
#2
|
||||
|
||||
Hola
Hasta donde yo recuerdo la unica solucion era cambiar el tamaño de fuente del control ya que cambiar el tamaño del componente no surtia efecto. Saludos
__________________
Caminante, son tus huellas el camino y nada más; Caminante, no hay camino, se hace camino al andar. Antonio Machado |
#3
|
||||
|
||||
Lo más fácil seria cambiar el tamaño de los TEdits para que tengan el tamaño de los TComboBoxs.
Lo difícil es lo que intentas aunque imposible no creo que sea. Prueba a ver si esto te sirve: http://forums.codeguru.com/showthrea...-designer-view Última edición por aguml fecha: 15-02-2017 a las 21:08:49. |
#4
|
||||
|
||||
Tal como indica aguml, puedes usar un combobox "ownerdraw", o sea con su propiedad Style en csOwnerDrawFixed. Con eso, ajustando la propiedad ItemHeight obtienes la altura deseada para el combo. Sin embargo, el texto de cada item queda pegado al borde superior y se ve un poco feo. Para centrarlo tienes que implementar el evento OnDrawItem:
LineComment Saludos |
#5
|
||||
|
||||
Hola.
No se si te sirva pero, de forma similar al enlace que puso aguml un ejemplo usando las propiedades ItemHeight y Height para lograr el cometido: Código PHP:
Saludos Edito: Y agregando la rutina de roman (que no había visto al momento de este), ciertamente queda mucho mejor presentado.
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... Última edición por ecfisa fecha: 15-02-2017 a las 22:44:54. |
#6
|
||||
|
||||
Cita:
LineComment Saludos |
#7
|
||||
|
||||
Usando las ideas de roman y ecfisa
No he cambiado ninguna propiedad en tiempo de diseño, todo lo hago en ejecucion
Edito: Probando me estoy dando cuenta de que el evento OnDrawItem no es estrictamente necesario: Cita:
Última edición por AgustinOrtu fecha: 16-02-2017 a las 00:29:36. |
#8
|
||||
|
||||
Gracias por vuestras respuestas. Me ha sido útiles pero al final me dieron una solución que creo más sencilla: Poner en el constructor del formulario
Código:
SendMessage(ComboBox1->Handle, CB_SETITEMHEIGHT, -1, <altura en píxeles>); |
#9
|
||||
|
||||
Cita:
LineComment Saludos |
#10
|
||||
|
||||
Cita:
LineComment Saludos |
#11
|
||||
|
||||
Cita:
|
#12
|
||||
|
||||
Y de la otra forma, ¿cómo queda? ¿Puedes poner una imagen?
LineComment Saludos |
#13
|
||||
|
||||
Pues lo cierto es que la diferencia es menor de lo que me había parecido. Probaré porque tal vez sea mejor solución.
|
#14
|
||||
|
||||
Pues sí. Es que, a fin de cuentas, si no cabe, no cabe Independientemente del método.
LineComment Saludos |
#15
|
||||
|
||||
Cita:
|
#16
|
||||
|
||||
Use SendMessage intencionadamente porque solo cambia el alto del Combo y no de los elementos, pero claro si quieres que también cambie la altura de los distintos elementos lo mejor es lo que comenta Román más arriba. Son igualmente un par de líneas, y opcionalmente el DrawItem para que se muestre el texto centrado verticalmente.
|
#17
|
||||
|
||||
Ahora que lo mencionas, me parece que hay un problema con la solución del SendMessage. En Delphi 7 al menos, al desplegar el combo la VCL lo regresa a su estado inicial.
LineComment Saludos |
#18
|
||||
|
||||
Cita:
(Aunque Angel no lo menciona, antes del SendMessage hay que poner la propiedad Style a csOwnerDrawVariable) |
#19
|
||||
|
||||
Cita:
LineComment Saludos |
#20
|
||||
|
||||
Supongo que para que no se amontonen puedes reducir el número de Items que se muestran. Por defecto son 8.
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Aspecto de un trackbar | davidj | Varios | 2 | 21-10-2007 17:34:21 |
boton con aspecto de link | halizia | HTML, Javascript y otros | 28 | 25-04-2007 20:51:10 |
Aspecto XP | trabuc | Varios | 2 | 01-12-2004 16:02:51 |
Aspecto del formulario | sur-se | OOP | 0 | 27-09-2004 12:39:46 |
Formulario con aspecto XP | fjolivares | Varios | 5 | 09-01-2004 15:55:09 |
|