拖动无标题栏窗体 整理
来源:互联网 发布:软件产品报价 编辑:程序博客网 时间:2024/05/21 07:51
1、使用 SendMessage
说明: 调用一个窗口的窗口函数,将一条消息发给那个窗口。除非消息处理完毕,否则该函数不会返回SendMessage所包含4个参数:
1. hwnd 32位的窗口句柄窗口可以是任何类型的屏幕对象,因为Win32能够维护大多数可视对象的句柄
2. wMsg 用于区别其他消息的常量值,这些常量可以是Windows单元中预定义的常量,也可以是自定义的常量
3. wParam 通常是一个与消息有关的常量值,也可能是窗口或控件的句柄
4. lParam 通常是一个指向内存中数据的指针。由于WParm、lParam和Pointer都是32位的,因此,它们之间可以相互转换
具体用法可以看 DELPHI中SendMessage详细资料
以下代码放在 OnMouseDown事件中,可以拖动任何具有Handle的控件。
ReleaseCapture; SendMessage(Handle, WM_SYSCOMMAND, $F012, 0);
2、使用 Perform
说明:perform是给自己发消息,所以同SendMessage或PostMessage的区别只在于少了第一个HWND参数。
以下代码放在 OnMouseDown或者OnMouseMove 事件中,不能指定HWND。
ReleaseCapture; Perform(WM_SYSCOMMAND, $F017, 0);
3、使用 POSTMESSAGE
以下代码放在OnMouseDown事件中
POSTMESSAGE(Self.Handle,WM_LBUTTONUP,0,0); POSTMESSAGE(Self.Handle,274,61458,0);
4、截获WM_NCHITTEST消息
说明:当光标移动到窗体,或鼠标按下,释放时,都会发送WM_NCHITTEST消息。
procedure WMNCHITTEST(var Msg:TWMNCHITTEST);message WM_NCHITTEST;procedure TForm1.WMNCHITTEST(var Msg: TWMNCHITTEST);begininherited; Msg.Result:=HTCaption;end;
- 拖动无标题栏窗体 整理
- 拖动无标题栏窗体
- 无标题栏窗体拖动
- 如何拖动无标题栏窗体
- C#拖动无标题栏窗体
- C#拖动无标题栏窗体
- Winform无标题栏拖动窗体
- C#窗体无标题栏拖动
- 窗体问题--拖动无标题栏的窗体
- 【C#】[窗体]窗体无标题栏拖动
- C#实现无标题栏窗体的拖动
- WPF:实现无标题栏窗体的拖动
- 快速设置无标题栏进行拖动窗体
- C#无标题栏窗体鼠标拖动
- QWidget无边框无标题栏窗体 可拖动可拉伸
- 一个拖动无标题栏窗体的方法 修正
- C#中怎么实现窗体无标题栏拖动
- vb.net实现无标题栏窗体可拖动
- Tornado源码分析之http服务器篇
- MongoDB最佳实践
- Lucene下引入ICTCLAS进行中文分词的实现方法
- JavaScript详解
- 快速排序(二) jdk源码中如何优化快速排序
- 拖动无标题栏窗体 整理
- [推荐][提供下载](Excel):常用函数公式及操作技巧系列文章【共十篇】
- android主流UI布局
- 四极管:WinCE 电源管理概述(五)
- Java方法参数是引用调用还是值调用?——值调用
- Delphi 建立快捷方式
- MFC中用户自定义类响应自定义消息
- linux下添加PATH的方法
- HTML元素 - input type=file