Перемещение окна подписи меньше при помощи “перетаскивает область”

Я хотел бы иметь свою собственную панель подписи, и поэтому я использую в основном панель (Имя: 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;  

Я ценил бы любые подсказки, как выполнить ту задачу.

Христианин

5
задан Christian 20 October 2010 в 09:57
поделиться