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

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

Подскажите плиз, как сделать,чтоб при наведении на ComboBox1 он о


JUS ©   (2004-08-18 22:03:00) 

Подскажите плиз, как сделать,чтоб при наведении на ComboBox1 он открывался без нажатия на него?


Алхимик   (2004-08-24 23:30:00) [1]


> [6] GEN++ ©   (24.08.04 23:13)
> Без API не обойтись - ComboBox не имеет событи onMouseMove

Имеет, правда оно заныкано у предка TControl в разделе protected.
Делаем так:

type
THackCombo = class(TComboBox);
...
THackCombo(ComboBox1).OnMouseMove := MyMouseMove;
...
procedure TForm1.MyMouseMove(Sender: TObject; Shift: TShiftState; X,
 Y: Integer);
begin
  ComboBox1.DroppedDown := true;
end;


SUBJ достигнут.


GEN++   (2004-08-24 23:13:00) [2]

Без API не обойтись - ComboBox не имеет событи onMouseMove.


Mim1   (2004-08-24 21:12:00) [3]

Почитайте книгу про програмирование в Delphi, раздел про обработку сообщений Windows в компонентах.


Jus   (2004-08-24 21:09:00) [4]

В каком событии это писать?


JUS   (2004-08-19 19:50:00) [5]

Эти обработчики WinApi? если да то я в нём плохо разбираюсь, но попрубую. Спасибо.


piople   (2004-08-19 05:48:00) [6]

Попробуй обрабатывать CM_MOUSEENTER (наведение курсора на компонент), в котором твоему Комбо будет посылаться CB_SHOWDROPDOWN. Ну и незабудь CM_MOUSELEAVE обрабатывать чтобы потом закрыть комбо.


Dimaxx   (2004-08-18 23:21:00) [7]

Пошли ему CB_SHOWDROPDOWN, он и откроется.


Наверх

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