|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
22.03.2007, 14:25 | #1 |
Пользователь
Регистрация: 04.02.2007
Сообщений: 38
|
Можно ли в ListBox шрифт в одном Item сделать жирным, а в другом обычным?
Можно ли в ListBox'е один Item сделать жирным (шрифт), а другой обычным и т.д.?
|
22.03.2007, 14:40 | #2 |
Старожил
Регистрация: 13.12.2006
Сообщений: 3,859
|
procedure TForm1.ListBox1DrawItem
(Control: TWinControl; Index: Integer; Rect: TRect; State: TOwnerDrawState); var myColor: TColor; myBrush: TBrush; begin myBrush := TBrush.Create; with (Control as TListBox).Canvas do begin if not Odd(Index) then myColor := clSilver else myColor := clYellow; myBrush.Style := bsSolid; myBrush.Color := myColor; Windows.FillRect(handle, Rect, myBrush.Handle); Brush.Style := bsClear; TextOut(Rect.Left, Rect.Top, (Control as TListBox).Items[Index]); MyBrush.Free; end; end; делает фон для разных строчек. Это лучше чем цвет текста, можете поверить.
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи |
25.03.2007, 21:22 | #3 |
Пользователь
Регистрация: 04.02.2007
Сообщений: 38
|
Так я пробовал. Как сделать это при добавлении элементов из ADOQuery?
|
25.03.2007, 21:31 | #4 |
Старожил
Регистрация: 13.12.2006
Сообщений: 3,859
|
TextOut(Rect.Left, Rect.Top,
(Control as TListBox).Items[Index]); вы внимательно читали ? какое имеет значение откуда вы берете текст ?
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи |
26.03.2007, 10:54 | #5 |
Пользователь
Регистрация: 04.02.2007
Сообщений: 38
|
Код:
Код:
В итоге вместо 5 элементов разного шрифта вылезает последний. |
26.03.2007, 11:31 | #6 |
Старожил
Регистрация: 13.12.2006
Сообщений: 3,859
|
Index:=StrToInt(Label3.Caption);
ошибка. Label3.caption статичен. и делать преобразование strtoint , без try.. не совсем корректно
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи |
27.03.2007, 22:39 | #7 |
Пользователь
Регистрация: 04.02.2007
Сообщений: 38
|
Подождите, а как это Label3.Caption статичен? В ходе добавления записей из ADOQuery курсор перемещается и Index изменяется!
|
28.03.2007, 10:10 | #8 |
Старожил
Регистрация: 13.12.2006
Сообщений: 3,859
|
Имхо самый нормальный выход для вас будет: выгрузка данных из базы в некий массив, с последующей вставкой их в listbox.
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи |
28.03.2007, 12:40 | #9 | |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
Что-то вы мудрите...
При добавлении записи в ListBox нужно просто использовать не метод AddItem, а Items.AddObject, где в качестве параметра объекта использовать некий признак для "утолщения" или подкраски шрифта данной записи. Если я правильно понял, этот признак можно взять из ADOQuery3.FieldByName('Punkt').AsIn teger. А анализировать ADOQuery3.FieldByName('Punkt').AsIn teger при прорисовке ListBox-а совершенно бесполезно - между ними никакой связи нет... Цитата:
Вроде я не предлагал какого-то дополнительного прорисовывания... Последний раз редактировалось mihali4; 28.03.2007 в 12:51. |
|
28.03.2007, 12:43 | #10 |
Старожил
Регистрация: 13.12.2006
Сообщений: 3,859
|
Если сделать так, то канва будет "дергаться" при перерисовке )
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Можно ли скопировать поле базы данных в ListBox? | Вася Рогов | БД в Delphi | 4 | 07.05.2009 19:45 |
Можно ли подсчитать FPS в другом процессе? | Minimus | Win Api | 7 | 26.08.2008 02:08 |
можно ли в одном классе реализовать несколько интерфейсов | Galinka08 | Общие вопросы по Java, Java SE, Kotlin | 2 | 08.03.2008 21:33 |
Как в ячейке Excel сделать надстрочный шрифт? | Sony | Общие вопросы Delphi | 2 | 26.07.2007 01:59 |
Как сделать все данные на одном языке? | Python | Microsoft Office Excel | 2 | 29.01.2007 12:37 |