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

Вниз

Перемещение окна, написанного на чистом апи, за клиентскую област   Найти похожие ветки 

 
K.o.Z ©   (2002-10-06 22:40) [0]

подскажите, как очуществить перетаскивание окна написанного на чистом API

способ описаный ниже не предлагать, у меня окно
отваливается от курсора, при быстром перемещении мыши

wm_LButtonDown:
begin
Xpos1 := LOWORD(lParam);
Ypos1 := HIWORD(lParam);
move:= true; //можно перетаскивать
end;
wm_MouseMove:
begin
if (move) then
begin
XPos2 := LOWORD(lParam);
YPos2 := HIWORD(lParam);
Left:= Left + (Xpos2 - Xpos1);
Top:= Top + (Ypos2 - YPos1);
MoveWindow(Window,Left,Top,nWidth,nHeight,True);
end;
end;
wm_LButtonUp:
begin
move:= false;
end;


 
rhf ©   (2002-10-07 00:54) [1]

WM_LBUTTONDOWN:
begin
releaseCapture;
sendMessage(handle,WM_SYSCOMMAND,SC_DRAGMOVE,0);
//или sendMessage(handle,WM_NCLBUTTONDOWN, HTCAPTION, 0);
end;

ЗЫ SC_DRAGMOVE=$F012


 
Юрий Зотов ©   (2002-10-07 01:32) [2]

Либо обрабатывать WM_NCHITTEST c возвратом HTCAPTION вместо HTCLIENT, когда это требуется.


 
K.o.Z ©   (2002-10-07 12:58) [3]

2 rhf

способ вполне подошел, огромное спасибо



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

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

Наверх




Память: 0.47 MB
Время: 0.015 c
1-59158
The_Vizit0r!
2002-11-08 22:22
2002.11.18
Эмуляция клика мышки


14-59433
igorr
2002-10-30 17:24
2002.11.18
Форум по C++


1-59200
Lexey
2002-11-06 11:36
2002.11.18
Какие продукты Borland являются бесплатными???


7-59448
Sasha9
2002-09-18 13:36
2002.11.18
Explorer


7-59452
Ал
2002-09-16 11:12
2002.11.18
Синхронизация часов РС с атомными часами