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

Вниз

Drag&Drop с помощью TWMNChitTest   Найти похожие ветки 

 
DeepProg   (2005-05-28 14:31) [0]

Данная конструкция
procedure tfmNIMMain.WMNCHitTest(var M: TWMNCHitTest);
begin
inherited;
if M.Result = htClient then M.Result := htCaption
end;

не приводит к желаемому результату. Т.е. 0 эмоций со стороны приложения. Breakpoints + WinSight32 показали, что WM_CHITTEST вышеприведенным кодом обрабатывается, только форма не пытается никуда сдвинуться.
Эта оработка вообще работает (а может она "осезависима") или придется обрабатывать события работы с мышью?


 
TUser ©   (2005-05-28 14:47) [1]

??
А в описании класса написано message WM_NcHitHest ?


 
DeepProg   (2005-05-28 14:53) [2]

Нет, там написано WM_NcHitTest :)
Type
TForm1 = class(TFrom)
...
 private
   { Private declarations }
   procedure WMNCHitTest(var M : TWMNCHitTest); message
WM_NCHITTEST;
...


 
DeepProg   (2005-05-28 15:28) [3]

Поймал баг - у меня Panel на всю форму растянута - она и мешает.
Все-таки придется возиться с мышью...


 
TUser ©   (2005-05-28 15:58) [4]

Просто пересылай форме те сообщения, которые придут к панели


 
rOOse ©   (2005-05-28 16:03) [5]


> 4] TUser ©   (28.05.05 15:58)

Вот тут поподробнее плз.


 
Marser ©   (2005-05-28 16:13) [6]


> rOOse ©   (28.05.05 16:03) [5] [Новое
>сообщение][Ответить]
>
>> 4] TUser ©   (28.05.05 15:58)
>
> Вот тут поподробнее плз.

В обработчик панели:
sendmessage(self.handle, msg, wparam, lparam)
или
Panel1.perform(self.handle, msg, wparam, lparam)


 
DeepProg   (2005-05-28 16:39) [7]

Я дольше ныл. С мышью все просто и аккуратно.

>sendmessage(self.handle, msg, wparam, lparam)
У меня не прокатило (WinSight не регистрировал никаких сообщений, но и ошибок не вылезало...).
И в любом случае придется обрабатывать
WM_SETCURSOR, WM_MOUSEMOVE, WM_NCHITTEST, WM_MOVING.
Т.е. на 1 процедуру больше, чем методом OnMouseDown, OnMouseMove, OnMouseUp ;)


 
Marser ©   (2005-05-28 16:47) [8]


>  меня не прокатило

Это зависит от того, куда ты её вставил. нужно было в оконную функцию.



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

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

Наверх




Память: 0.48 MB
Время: 0.026 c
4-1117361598
Demonix
2005-05-29 14:13
2005.07.25
Delphi, создание пользователя в Active Directory


3-1118396661
Леонид
2005-06-10 13:44
2005.07.25
Как узнать значение поля после инсерта, поле автоинкрементное


10-1097502395
Roobee
2004-10-11 17:46
2005.07.25
Интеграция Delphi и Excel. Мастера откликнитесь.


14-1120272038
Kerk
2005-07-02 06:40
2005.07.25
С днем рожденья! 2 июля


1-1120724743
qwer-10
2005-07-07 12:25
2005.07.25
Проверка в в FindFirst/FindNext.