Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.01.01;
Скачать: CL | DM;

Вниз

Раскрытие PopupMenu на форме   Найти похожие ветки 

 
Дмитрий_05   (2005-12-03 21:22) [0]

У меня форма нестандартного размера(непрямоугольная) без бордюра, создается функциями CreateRectRgn, SetWindowRgn в OnCreate. Прорисовка формы осуществляется в обработке WM_EraseBkgnd а перенос в обработке WMNCHitTest. Так вот в такой форме у меня почему-то не раскрывается PopupMenu по нажатию по ней правой кнопкой мыши, в свойстве формы "PopupMenu" выставлено. Попробовал сделать так: обрабатывать WM_RBUTTONDOWN а в нем прописал:

procedure TForm1.WMRButtonDown(var Message: TWMRBUTTONDOWN);
begin
PopupMenu1.Popup(Message.XPos, Message.YPos);
end;

тоже результата не дало... Что делать?


 
Delphi_is_cool ©   (2005-12-03 23:59) [1]


> тоже результата не дало

Т.е сообщение отлавливается, но PopupMenu не раскрывается ? Если да, то попробуй использовать ф-цию TrackPopupMenu ... хотя я думаю что есть вероятность того что оно раскрывается, но за пределами экрана, в этом случаем можно попробовать использовать ф-цию GetMessagePos для опредиления координат ...


 
Дмитрий_05   (2005-12-04 01:13) [2]

мне кажется что сообщение не доходит до клиентской части... это из за того что WMNCHitTest я обрабатываю так:

if msg.Result=htClient then msg.Result:=htCaption;

можно ли его какнибудь переделать чтобы доходили сообщения?


 
Юрий Зотов ©   (2005-12-04 01:46) [3]

> Дмитрий_05   (04.12.05 01:13) [2]

> мне кажется что сообщение не доходит до клиентской части... это из за
> того что WMNCHitTest я обрабатываю так

Именно поэтому.

> можно ли его какнибудь переделать чтобы доходили сообщения?

Дополнительно проверяйте, нажата ли левая кнопка мыши:

procedure TForm1.WMNCHitTest(var Message: TWMNCHitTest);
begin
 inherited;
 if (GetAsyncKeyState(VK_LBUTTON) < 0) and (Message.Result = HTCLIENT) then
   Message.Result := HTCAPTION
end;


 
Дмитрий_05   (2005-12-04 21:53) [4]

Спасибо, все работает )))



Страницы: 1 вся ветка

Текущий архив: 2006.01.01;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.049 c
14-1133786262
Bogdan1024
2005-12-05 15:37
2006.01.01
клавиатурный шпион для ВинХП


11-1115883363
SkynoSky
2005-05-12 11:36
2006.01.01
Помагите в разработке БД в Delphi и IB


2-1134555646
JTAG
2005-12-14 13:20
2006.01.01
Знатоки подскажите плз по вопросу такого характера


3-1131540421
erika
2005-11-09 15:47
2006.01.01
осуществить слияние наскольких полей с отбором симв в запросе


8-1122528536
Wm.DIGGER
2005-07-28 09:28
2006.01.01
Событие буфера DirectSound?