Office中国论坛/Access中国论坛
标题:
如何移动无标窗体!?
[打印本页]
作者:
windows2002
时间:
2002-9-26 21:33
标题:
如何移动无标窗体!?
吴天明版主!?
使用界面一般要先把窗体的标题栏去掉(在BCB中,将窗体的BorderStyle属性设为bsNone,就可以把窗体的标题栏去掉),这样就不能使用原来的标题栏了,出现了窗口不能移动的问题。没有标题栏怎样用鼠标拖动窗体呢?
谢谢![em09]
作者:
WTM1
时间:
2002-9-26 22:43
标题:
回答!
首先,新建一个工程,把窗体的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]
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/)
Powered by Discuz! X3.3