|
回答!
首先,新建一个工程,把窗体的BorderStyle属性设为bsNone去掉窗体的标题栏,按F12键切换到代码编辑窗口,在头部加入包含头文件"winuser.h"的代码:
#include <winuser.h>
然后,在窗体的 OnMouseDown 事件中加入下面的代码:
if(Button == mbLeft)//判断是否按了鼠标左键
{
ReleaseCapture();//释放鼠标操作
SendMessage( Handle, WM_NCLBUTTONDOWN, HTCAPTION, 0);
}
这样,用鼠标左键点住窗口拖动,就可以实现拖动没有标题的窗口了。也可以在窗体上添加组件,然后在该组件的 OnMouseDown 事件中加入上面的代码,这样也可以点住这个组件拖动窗口。你还可以把SendMessage函数的第一个参数修改为这个组件的句柄,如:往窗体添加一个Button组件,在它的 OnMouseDown 事件中加入上面的代码,其中把SendMessage那行语句改为:
SendMessage( Button1->Handle, WM_NCLBUTTONDOWN, HTCAPTION, 0);
这样就可以在程序运行时,用鼠标在窗口的范围内移动Button1了。
[em11] |
|