Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   OwnerDraw en TComboBox, que permita edicion (https://www.clubdelphi.com/foros/showthread.php?t=89667)

AgustinOrtu 12-01-2016 00:09:16

OwnerDraw en TComboBox, que permita edicion
 
Saludos

Estoy usando Delphi 2010. Tengo un control TComboBox en el cual implemento un evento OnDrawItem. La idea es mostrar cierta cosa cuando se despliega la lista, y otra cuando la lista esta cerrada

Este es mi codigo:

Código Delphi [-]
procedure TForm1.ComboBox1DrawItem(Control: TWinControl; Index: Integer; Rect: TRect; State: TOwnerDrawState);
var
  LText: string;
begin
  // el ComboBox1 tiene su propiedad Style a csOwnerDrawFixed
  if Index = -1 then
    Exit;

  LText := ComboBox1.Items[Index];
  if odComboBoxEdit in State then
    HacerAlgoConElTexto(LText);

  ComboBox1.Canvas.FillRect(Rect);
  ComboBox1.Canvas.TextOut(Rect.Left + 2, Rect.Top, LText);
end;

Esto funciona muy bien y el efecto logrado es el deseado. El problema que tengo es que al cambiar el Combo a csOwnerDrawFixed pierdo la parte de edicion. Es decir, no se permite introducir algun texto cualquiera, estoy forzado a seleccionar solo una de las opciones del combo

Y si vuelvo a la propiedad Style a csDropDown, pierdo el OwnerDraw

Hay alguna solucion? O tengo que buscar otra alternativa / componente?

Saludos y gracias

AgustinOrtu 28-01-2016 01:26:12

Le doy un up, no por impaciente, solo porque veo que ya varios volvieron de las vacaciones, de esos que seguro tienen una solucion :D

roman 28-01-2016 16:57:28

Anda ecfisa. Ponte a trabajar :p

LineComment Saludos


La franja horaria es GMT +2. Ahora son las 04:47:49.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi