Ver Mensaje Individual
  #7  
Antiguo 24-11-2008
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Reputación: 24
Caro Va por buen camino
Cita:
Empezado por maeyanes Ver Mensaje
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 //Verificamos para que no nos de un ActionViolation
  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...
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita