Вопрос: Как перетащить окно, созданное winAPI и не имеющее ниодного объекта TControl?
Ответ :
Перетаскивать окно с нажатой в нём левой кнопкой мыши можно так:
code:
--------------------------------------------------------------------------------
// В отработчике приёма сообщений этого окна
static int X0,Y0,id_set=0;
int X,Y,PressControl;
RECT R;
//...
case WM_MOUSEMOVE:
PressControl=wParam;
if(PressControl!=MK_LBUTTON){id_set=0; break; }
//Запомним место где прижали мышь
if(!id_set && (PressControl==MK_LBUTTON))
{ X0=LOWORD(lParam); Y0=HIWORD(lParam); id_set=1; break; }
X=LOWORD(lParam); Y=HIWORD(lParam);
GetWindowRect(hWnd,&R);
//сместим окно
R.left+=(X-X0);
R.top+=(Y-Y0);
SetWindowPos(hWnd,0,R.left,R.top,10,10,SWP_NOSIZE);
break;
//...
--------------------------------------------------------------------------------
(c) 2003 Borland X Portal
|