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

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

listbox [D6, WinXP]


do_the_right_thing ©   (2002-06-12 00:38:00) 

Здравствуйте. У меня тут за время общения с листбоксом накопилось несколько вопросов. помогите плз
1)при выделении итема в листбоксе вокруг него есть рамочка
как ее убрать?
2)сделал фоном листбоксу картинку bmp при помощи
listbox1.canvas.draw(0,0,image1.canvas.bitmap)
для этого всунул эту строку в form.onpaint (единственное место, которое я нашел, чтобы и картинка была и итемы нормально писались ), но при прокручивании листбокса картинка стирается. как сделать чтобы и картинка всегда показывалась и итемы в листбоксе тоже?
3)как узнать в процедуре listbox.dblclick индекс нажатого итема в том же листбоксе?


do_the_right_thing   (2002-06-12 18:05:00) [1]

спасибо всем


Song   (2002-06-12 10:10:00) [2]

1) Можно не делать так радикально как предложил allrussia (c)
Можно просто написать свой обработчик на событие TListBox.onDrawItem и не включать вышеупомянутую строку в обработчик.
2) Очевидно, что нужно ловить сообщение о скролировании контрола и рисовать в этот момент также.


allrussia   (2002-06-12 02:18:00) [3]

1)при выделении итема в листбоксе вокруг него есть рамочка
как ее убрать?


Открываешь файл StdCtrls.pas в папке $Delphi$\Source\Vcl (его там может и не быть, должно быть установлено Visual Component Library Suite). Открываешь в Delphi, дваждыудаляешь из этого файла следующую строку (можно заремить //):

if odFocused in State then DrawFocusRect(hDC, rcItem);

Сохраняешь, копируешь сохраненненный файл в папку $Delphi$\Lib.

Работает с ListBox, ComboBox, DirectoryListBox, DriveComboBox и т.д. Не забудь ставить стиль компонента OwnerDraw...


VID   (2002-06-12 00:53:00) [4]

3. ListBox1.ItemIndex


Наверх

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