如何移动无标题栏的窗体

方法一:
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);
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值