Вниз
Скачать: CL | DM;

два вопроса по TComboBox   Найти похожие ветки 

← →
>>DEATH<<   (2007-08-03 22:08) [0]

подскажите как сделать:
1 как зафиксировать Tехt(чтоб нельзя было менять)
2 как прорисовывать картинку перед надписью


← →
Loginov Dmitry ©   (2007-08-03 22:34) [1]

1. Style = csDropDownList
2. как рисуешь? что не получается?


← →
>>DEATH<<   (2007-08-03 22:49) [2]


> 2. как рисуешь? что не получается?

я и спрашиваю как рисовать


← →
>>DEATH<<   (2007-08-03 22:50) [3]


> 2. как рисуешь? что не получается?

я и спрашиваю как рисовать


← →
{RASkov} ©   (2007-08-04 02:37) [4]

> [3] >>DEATH<<   (03.08.07 22:50)
> я и спрашиваю как рисовать

Ну можно например так:
........
 private
   BitmapIco: TBitmap;
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
 ComboBox1.Style:=csOwnerDrawFixed;
 ComboBox1.ItemHeight:=21;
 BitmapIco:=TBitmap.Create;
 BitmapIco.Width:=ComboBox1.ItemHeight;
 BitmapIco.Height:=BitmapIco.Width;
 BitmapIco.Canvas.StretchDraw(BitmapIco.Canvas.ClipRect, Application.Icon);
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
 BitmapIco.Free;
end;

procedure TForm1.ComboBox1DrawItem(Control: TWinControl; Index: Integer; Rect: TRect; State: TOwnerDrawState);
begin
 with TCombobox(Control) do begin
  Canvas.FillRect(Rect);
  Canvas.StretchDraw(Classes.Rect(Rect.Left, Rect.Top, Rect.Left+BitmapIco.Width, Rect.Bottom), BitmapIco);
  Canvas.TextOut(Rect.Left+BitmapIco.Width+2, Rect.Top+2, Items[Index]);
 end;
end;

Пример не из лучших, но понять как "рисовать" в элементах "комбика" можно.... Я взял для простоты иконку приложения для рисунка...
Наиболее "важные" моменты выделил жирным... Кстати этот пример отвечает на оба вопроса из [0].....
Я хоть и не использовал в данном примере State, но выделил его.... стоит обратить на этот параметр внимание....


← →
>>DEATH<<   (2007-08-04 04:51) [5]

пасибо разобрался



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.02 c
15-1185396815
lookin
2007-07-26 00:53
2007.08.26
Как убрать "публичность" папки...


2-1185985576
Ruffian
2007-08-01 20:26
2007.08.26
Генератор списков паролей


1-1181993151
GrayWolf
2007-06-16 15:25
2007.08.26
Отличия работы RTTI в Delphi for NET от Delphi for Win32


6-1166561840
m00ngl0w
2006-12-19 23:57
2007.08.26
WhoIs


15-1184778574
Kolan
2007-07-18 21:09
2007.08.26
Еще про DataLayer, а как предпологается быть с отображением?




   Наверх