Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

два вопроса по TComboBox


>>DEATH<< ©   (2007-08-03 22:08:00) 

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


>>DEATH<<   (2007-08-04 04:51:00) [1]

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


{RASkov}   (2007-08-04 02:37:00) [2]

> [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, но выделил его.... стоит обратить на этот параметр внимание....


&gt;&gt;DEATH&lt;&lt;   (2007-08-03 22:50:00) [3]


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

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


&gt;&gt;DEATH&lt;&lt;   (2007-08-03 22:49:00) [4]


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

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


Loginov Dmitry   (2007-08-03 22:34:00) [5]

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо