Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.03.21;
Скачать: [xml.tar.bz2];




Вниз

Hint, ComboBox 


sergey2   (2002-03-06 13:41) [0]

Привет.
Так получилось, что размер Combobox меньше чем длины строк текста, которые необходимо в нем отображать и выбирать. В выпадающем списке выдимы только части строк (остальное не влезает). Подскажите как сделать чтобы строка из выпадающего списка при наведении на нее мышкой полностью показывалась в Hint"е. или может быть можно сделать чтобы выпадающий список был шире самого Combobox"а. Заранее благодарен.



DieHard   (2002-03-06 14:00) [1]

см. http://delphi.vitpc.com/treasury/s001.htm



sergey2   (2002-03-06 14:19) [2]

не подходит. там листбокс, а у меня combo. - У combo нет события OnMouseMove :( и еще hint на выпадпающем списке почему то не показывается.



Song   (2002-03-06 15:17) [3]

Привет,
Отлови момент открытия через сообщение CB_GETDROPPEDSTATE, дальше посылай сообщение CB_SETDROPPEDWIDTH для задания ширишы клиентской области контрола, который описывает выпадающую область.



sergey2   (2002-03-06 15:30) [4]

если можно пример PLZ



Song   (2002-03-06 15:42) [5]

private
Procedure WhetherComboBoxDropped(Var Msg:TMessage); message CB_GETDROPPEDSTATE;

....


Procedure TForm1.WhetherComboBoxDropped(Var Msg:TMessage);
Begin
// Наш комбобокс открылся
SendMessage(ComboBox1.Handle,CB_SETDROPPEDWIDTH,число_пикселей,0);
inherited;
End;


Число пикселей либо пиши фиксированным или вычисляй длину в пикселях самой большой строки в комбобоксе



sergey_2   (2002-03-06 16:47) [6]

Проверил.
почему то при открытии combo событие CB_GETDROPPEDSTATE не возникает (смотрел winsight32). Возникает cb_getcount, но и его не удается отловить. прям не знаю чего делать. :(



Song   (2002-03-06 17:40) [7]

Попробуй CB_SHOWDROPDOWN



Song   (2002-03-06 17:43) [8]

См. также:


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.




Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.03.21;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.019 c
3-66745           AndrewK               2002-02-20 13:25  2002.03.21  
Как обратиться к агрегированному полю в запросе


3-66798           Demon ltd             2002-02-23 23:44  2002.03.21  
Сортировка в базе


14-66970          Anics                 2002-02-06 08:51  2002.03.21  
Кто знает как это сделать ?


1-66877           Андрей_Ш              2002-03-05 17:37  2002.03.21  
Временная задержка


4-67056           neodiX                2001-12-18 01:16  2002.03.21  
Mozno li imeja izobrazenie Desktop a v TmemoryStream, opiat otabrazit ego na desktop?