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

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

программная перерисовка ComboBox (Style=csOwnerDrawFixed)


Light-blr ©   (2007-02-05 18:13:00) 

Здравствуйте!
Подскажите, пожалуйста, как перерисовать ComboBox с Style=csOwnerDrawFixed, когда меняется надпись (меняю Items как Items[0]:='a';Items[1]:='b' итд). До этого просто записывала в Items строки, они в программе не менялись, и хватало процедуры
procedure THutchStyleForm.CBStyleDrawItem(Control: TWinControl;
 Index: Integer; Rect: TRect; State: TOwnerDrawState);
begin
(* Заполняем прямоугольник *)
CBStyle.canvas.fillrect(rect);
(* Рисуем сам битмап *)
imagelist1.Draw(CBStyle.Canvas,rect.left,rect.top,index);
(* Пишем текст после картинки *)
CBStyle.canvas.textout(rect.left+imagelist1.width+2,rect.top,
CBStyle.items[index]);
end;
которую я выудила из инета. Но теперь, когда в процедуре FormCreate я меняю Items, форма появляется с комбобоксом, в котором ничего не нарисовано. То есть в нём можно всё выбрать, но изначально он пуст. Подскажите, что надо добавить к изменению Items, чтобы происходила нужная мне перерисовка?


Loginov Dmitry   (2007-02-05 19:11:00) [1]


> Но теперь, когда в процедуре FormCreate я меняю Items, форма
> появляется с комбобоксом, в котором ничего не нарисовано.


Устанавливай ItemIndex на нужную строку

> Подскажите, что надо добавить к изменению Items, чтобы происходила
> нужная мне перерисовка?


Repaint
Refresh


Наверх

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