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

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

Как узнать над каким итемом combobox а находится курсор? [Win95/98, WinME, NT4, Win2k, WinXP]


ctapik-net ©   (2002-01-29 14:29:00) 

Не нашел примера позволяющего при жвижении курсора выводить хинт для итема combobox. Другие компоненты не предлагать.


ctapik-net   (2002-02-05 18:16:00) [1]

Спасибо большое!


Andrey007   (2002-02-05 17:04:00) [2]

1) Надо установить ComboBox.Style:=csOwnerDrawFixed (или csOwnerDrawVariable если надо рисовать содержимое выпадающего списка с разной высотой элемента).
2) Надо повесить обработчик события на OnDrawItem (если стиль csOwnerDrawVariable, то и на OnMeasureItem), и первые 2 строчки этого обработчика должны выглядеть так:
ComboBox.Canvas.FillRect(Rect);
ComboBox.Canvas.TextOut(Rect.Left+2,Rect.Top,ComboBox.Items[Index]);
3) Поскольку обычно элемент списка, над которым находится курсор, является подсвеченным, то будет работать следующая конструкция:
if odSelected in State then
begin
// а здесь Ваш хинт надо показывать
end;


ctapik-net   (2002-02-03 13:46:00) [3]

Хорошо, тогда как можно отловить движение мышки над частью, которая выскакивает при нажатии на кнопку? OnMouseMove не перехватывает.


Serghei   (2002-01-29 14:43:00) [4]

An application sends a CB_GETCURSEL message to retrieve the index of the currently selected item, if any, in the list box of a combo box.

CB_GETCURSEL
wParam = 0; // not used; must be zero
lParam = 0; // not used; must be zero


Parameters

This message has no parameters.

Return Values

The return value is the zero-based index of the currently selected item. If no item is selected, it is CB_ERR.

See Also

CB_SELECTSTRING, CB_SETCURSEL


Наверх

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