Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.08.26;
Скачать: [xml.tar.bz2];

Вниз

два вопроса по 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 вся ветка

Форум: "Начинающим";
Текущий архив: 2007.08.26;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.208 c
1-1182167087
StriderMan
2007-06-18 15:44
2007.08.26
TEdit.AutoSelect


2-1185629522
Johnnnn
2007-07-28 17:32
2007.08.26
WM_LBUTTONUP Как записать координаты нажатия


2-1185954821
WFS
2007-08-01 11:53
2007.08.26
Можно ли как-нибудь выделить одну ячейку в DBGride?


15-1185806075
DillerXX
2007-07-30 18:34
2007.08.26
Я может слишком жалостлив к людям, но...


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





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский