![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Hint, ComboBox [D6]
sergey2 © (2002-03-06 13:41:00)Привет.
Так получилось, что размер Combobox меньше чем длины строк текста, которые необходимо в нем отображать и выбирать. В выпадающем списке выдимы только части строк (остальное не влезает). Подскажите как сделать чтобы строка из выпадающего списка при наведении на нее мышкой полностью показывалась в Hint"е. или может быть можно сделать чтобы выпадающий список был шире самого Combobox"а. Заранее благодарен.
Song (2002-03-06 17:43:00) [1]См. также:
Occurs when the user opens the drop-down list by clicking the arrow at the right of the control.
property OnDropDown: TNotifyEvent;
Description
Write an OnDropDown event handler to implement special processing that needs to occur only when the drop-down list is activated.
Note: OnDropDown never occurs if the combo box does not include any items.
Song (2002-03-06 17:40:00) [2]Попробуй CB_SHOWDROPDOWN
sergey_2 (2002-03-06 16:47:00) [3]Проверил.
почему то при открытии combo событие CB_GETDROPPEDSTATE не возникает (смотрел winsight32). Возникает cb_getcount, но и его не удается отловить. прям не знаю чего делать. :(
Song (2002-03-06 15:42:00) [4]private
Procedure WhetherComboBoxDropped(Var Msg:TMessage); message CB_GETDROPPEDSTATE;
....
Procedure TForm1.WhetherComboBoxDropped(Var Msg:TMessage);
Begin
// Наш комбобокс открылся
SendMessage(ComboBox1.Handle,CB_SETDROPPEDWIDTH,число_пикселей,0);
inherited;
End;
Число пикселей либо пиши фиксированным или вычисляй длину в пикселях самой большой строки в комбобоксе
sergey2 (2002-03-06 15:30:00) [5]если можно пример PLZ
Song (2002-03-06 15:17:00) [6]Привет,
Отлови момент открытия через сообщение CB_GETDROPPEDSTATE, дальше посылай сообщение CB_SETDROPPEDWIDTH для задания ширишы клиентской области контрола, который описывает выпадающую область.
sergey2 (2002-03-06 14:19:00) [7]не подходит. там листбокс, а у меня combo. - У combo нет события OnMouseMove :( и еще hint на выпадпающем списке почему то не показывается.
DieHard (2002-03-06 14:00:00) [8]см. http://delphi.vitpc.com/treasury/s001.htm