ПредишенСледващото

Възможно ли е да вмъкнете картинка в падащ списък?

Има записи, както и в зависимост от условията, бих искал да се добави към всеки от вашия имидж. Мога ли да направя, че в списъка с файлове? Много е необходимо код.
Благодаря предварително!

Помощ за OnDrawItem е пример

процедура TForm1.ListBox1DrawItem (Control: TWinControl; Индекс: Integer;
# XA0; Rect: TRect; Състояние: TOwnerDrawState);
започвам
# XA0; ListBox1.Canvas.FillRect (Rect);
# XA0; ImageList1.Draw (ListBox1.Canvas, 1, 0, 0, вярно);
# XA0; ListBox1.Canvas.TextOut (Rect.Left + 19, Rect.Top + 1, ListBox1.Items.Strings [0]);
приключи;

процедура TForm1.FormCreate (Sender: TObject);
започвам
# XA0; ListBox1.Style: = lbOwnerDrawFixed;
приключи;


> Луд маймуна # XA0; (14.09.06 16:15)


> И, в зависимост от условията

Условия доста много, но аз трябваше да знам как да се направи най-вече в списъка с файлове.

Благодаря за отговора!

И не каже как да бъде? Как да попълните всички записи една снимка? Ето кода:
процедура TForm1.ListBox1DrawItem (Control: TWinControl; Индекс: Integer;
Rect: TRect; Състояние: TOwnerDrawState);
започвам
ListBox1.Canvas.FillRect (Rect);
ImageList1.Draw (ListBox1.Canvas, 1, 0, 0, вярно);
ListBox1.Canvas.TextOut (Rect.Left + 19, Rect.Top + 1, ListBox1.Items.Strings [0]);
приключи;

Тя ви позволява да се направи снимка само на първия ред, както и как да се направи точно същия образ на всички линии, които сте добавили аз?

Той не обръща една, но много от тях, но на едно място. За да определите трябва да се използват координатите на прякото, както са го правили в случай на текст изход

> Позволява ви да направи снимка само на първия ред, а
> Как да се направи точно същия образ на всички линии, които
> Имам добавят?

OnDrawItem призова за всеки ред в списъка. Брой на текущия ред се прехвърля на Индекса на параметър, ток областта за чертане - в параметъра Rect. За мен е чест, все едно, с често задавани въпроси.

PS В "програмист планина" код номер е неправилен.


> Луд маймуна # XA0; (14/09/06 21:24) [4]

процедура TForm1.ListBox1DrawItem (Control: TWinControl; Индекс: Integer;
# XA0; Rect: TRect; Състояние: TOwnerDrawState);
започвам
# XA0; ListBox1.Canvas.FillRect (Rect);
# XA0; ImageList1.Draw (ListBox1.Canvas, Rect.Left + 1, Rect.Top 0, вярно.);
# XA0; ListBox1.Canvas.TextOut (Rect.Left + 19, Rect.Top + 1, текст);
приключи;

Благодарим ви, скъпи!
Особено GoreProgramist! Уважение.

Крайният кода съм направил така:

ListBox1.Canvas.FillRect (Rect);
Form1.ImageList1.Draw (ListBox1.Canvas, Rect.Left + 1, Rect.Top, 0, вярно);
ListBox1.Canvas.TextOut (Rect.Left + 19, Rect.Top + 1, ListBox1.Items.Strings [индекс]);

Подкрепете проекта - споделете линка, благодаря!