Форум: "Основная";
Текущий архив: 2002.06.24;
Скачать: [xml.tar.bz2];
Внизlistbox Найти похожие ветки
← →
do_the_right_thing (2002-06-12 00:38) [0]Здравствуйте. У меня тут за время общения с листбоксом накопилось несколько вопросов. помогите плз
1)при выделении итема в листбоксе вокруг него есть рамочка
как ее убрать?
2)сделал фоном листбоксу картинку bmp при помощи
listbox1.canvas.draw(0,0,image1.canvas.bitmap)
для этого всунул эту строку в form.onpaint (единственное место, которое я нашел, чтобы и картинка была и итемы нормально писались ), но при прокручивании листбокса картинка стирается. как сделать чтобы и картинка всегда показывалась и итемы в листбоксе тоже?
3)как узнать в процедуре listbox.dblclick индекс нажатого итема в том же листбоксе?
← →
VID (2002-06-12 00:53) [1]3. ListBox1.ItemIndex
← →
allrussia (2002-06-12 02:18) [2]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...
← →
Song (2002-06-12 10:10) [3]1) Можно не делать так радикально как предложил allrussia (c)
Можно просто написать свой обработчик на событие TListBox.onDrawItem и не включать вышеупомянутую строку в обработчик.
2) Очевидно, что нужно ловить сообщение о скролировании контрола и рисовать в этот момент также.
← →
do_the_right_thing (2002-06-12 18:05) [4]спасибо всем
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.06.24;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.007 c