如何移动无标题栏的窗体
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);
}
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);
}
相关文章推荐
- 如何在没有标题栏的情况下移动窗体
- 如何移动没有标题的窗体
- 如何移动没有标题的窗体
- 窗体DataGridView控件中按回车键时,单元格向下移动,如何能改成向右移动
- 如何用TAB键移动窗体内控件的焦点
- 移动没有标题栏的窗体
- C#鼠标按住标题移动时移动窗体
- VC中如何将MDI的多个子窗体设置为不同的标题
- 移动无标题(边框)窗体
- Winform 设置formborderStyle 为None后如何移动窗体
- c#如何实现无标题栏窗口程序的移动?
- C# 移动窗口 适用于有标题栏和无标题栏窗体 超级简单版
- C# 移动窗口 适用于有标题栏和无标题栏窗体 超级简单版
- 移动无标题(边框)窗体
- qt实现无标题栏的可移动窗体
- C#移动无标题栏窗体的三种代码:
- c#如何实现无标题栏窗口程序的移动?
- C#winform窗体中如何点击移动某个控件来移动窗体
- c# 窗体上控件如何放大缩小和移动
- 如何解决Win7任务栏预览不见了鼠标移动到任务栏只显示标题的问题