Я хотел бы иметь свою собственную панель подписи, и поэтому я использую в основном панель (Имя: pnCaption), и удаляют исходную панель подписи в CreateParams. Но способность переместить окно MouseDown-MouseMove в новой панели является проблемой.
Обычно Вы использовали бы сообщение NCHITTEST. НО это не сообщено, если мышь по панели (моя собственная подпись). См. код...
procedure TForm1.CreateParams(var params: TCreateParams);
begin
inherited Createparams(Params);
with Params do
Style := (Style or WS_POPUP) and (not WS_DLGFRAME);
end;
procedure TForm1.WM_NCHitTest(var Msg: TWMNcHitTest);
begin
inherited;
if PtInRect(pnCaption.BoundsRect, ScreenToClient(Point(Msg.XPos, Msg.YPos)))
then Msg.Result := HTCAPTION;
end;
Я ценил бы любые подсказки, как выполнить ту задачу.
Христианин