WM_NCHITTEST: return HTCAPTION и PtInRegion()
Код:
case WM_NCHITTEST:
return HTCAPTION;
break;
но перестает работать PtInRegion()
Код:
case WM_NCLBUTTONUP: // or WM_NCRBUTTONUP
xPos = GET_X_LPARAM(lParam);
yPos = GET_Y_LPARAM(lParam);
for (int i=0; i<iRegionsCount; i++)
{
if (PtInRegion(hRgns,xPos,yPos))
{
iActiveRgn = i;
continue;
}
}
break;
Как поправить?
2. если вы сразу возвращаете HTCAPTION то никаких сообщений с WM_NC...... больше приходить не будет...
procedure TForm1.Panel1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
const
SC_DragMove = $F012; { a magic number }
begin
ReleaseCapture;
panel1.perform(WM_SysCommand, SC_DragMove, 0);
end;