Cita:
Empezado por maeyanes
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:
Código Delphi [-]
procedure TForm1.ComboBox1MeasureItem(Control: TWinControl; Index:
Integer; var Height: Integer);
begin
Height := Control.Canvas.GetTextHeight(ComboBox1.Items[Index])
end;
Saludos...
|
Hola Mayanes, gracias por responder, acabo de probar lo que dices, pero no me esta funcionando, primero, Control no tiene la propiedad Canvas y Canvas no tiene el GetTextHeigth pero si el TextHeigth, hice lo siguiente, en el evento OnMeasureItem:
Código Delphi
[-]
procedure TForm1.ComboBox1MeasureItem(Control: TWinControl; Index: Integer;
var Height: Integer);
begin
if Index<>-1 then Height := Canvas.TextHeight(ComboBox1.Items[Index]);
end;
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...