procedure TForm1.WMNCHitTest(var Msg : TWMNCHitTest); file:// WMNCHitTest過程與WMNCPaint過程實現(xiàn)方法相同,該過程在光標移動或鼠標按鈕被按下或鼠標按鈕被釋放時調用 begin inherited; with Msg do if PtInRect(CaptionBtn, Point(XPos - Left, YPos - Top)) then Result := htCaptionBtn;//判定鼠標所在位置是否在新按鈕的矩形范圍內,假如在返回新按鈕的標識值 end;
procedure TForm1.WMNCLButtonDown(var Msg : TWMNCLButtonDown); // WMNCLButtonDown過程與WMNCPaint過程實現(xiàn)方法相同,當光標處于窗口非客戶區(qū)范圍內鼠標左鍵被按下時調用該過程 begin inherited; if (Msg.HitTest = htCaptionBtn) then ShowMessage('你點擊的是標題欄上的新按鈕'); file://判定被點擊的是否是新按鈕,假如是顯示上面的信息,在這里你可以按你的需要編寫程序代碼 end; procedure TForm1.FormResize(Sender: TObject); begin Perform(WM_NCACTIVATE, Word(Active), 0); file://假如窗口大小改變則重畫標題欄 end; end.