您的位置:首页 > 其它

如何移动无标题栏的窗体

2005-12-19 16:49 323 查看
方法一:
1.在Form1類的头文件中聲明WM_NCHITTEST消息的回應過程函數:
...
public: // User declarations
MESSAGE void __fastcall WMNCHitTest(TWMNCHitTest& Message);

BEGIN_MESSAGE_MAP
MESSAGE_HANDLER(WM_NCHITTEST, TWMNCHitTest, WMNCHitTest)
END_MESSAGE_MAP(TForm)
...

2.在TForm1的cpp文件中定義WMNCHitTest過程,添加代碼如下:
void __fastcall TForm1::WMNCHitTest(TWMNCHitTest &Msg)
{
TForm::Dispatch(&Msg);
// 先對消息進行預處理,然后根据消息映射路徑,直到找到合适的消息響應函數。
// 如果在整個類列表中未找到,同調用缺省消息處理函數(DefaultHandler)。
// 類似Dephi中的過程:Inherited。
if( Msg.Result==HTCLIENT)
Msg.Result = HTCAPTION; // 消息參數轉換
}

方法二:
在物件的OnMouseDown事件中:
if(Button == mbLeft)
{
ReleaseCapture();
Perform(WM_NCLBUTTONDOWN,HTCAPTION, 0);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: