我想找一段窗体标题栏的移动代码>???能移动窗体的代码.
如何写呀????
给我一个例子!!!谁有?!
在线等!!!!!!!!!!!
如何写呀????
给我一个例子!!!谁有?!
在线等!!!!!!!!!!!
解决方案 »
- 为什么我编写的Delphi 7.0中的dll , 在调用的时候都没有问题,也FreeLibrary(Th)了,但是在退出主程序时候,主程序出错,提示内存错误!
- 这样的问题,就如何解决?
- 新手上路:关于FastReport的主从报表问题请教,急急急,高分送!
- 经典,大家开心一下
- 有谁用过ValueListEditor控件
- 今天心情很不好,又有一个同事走了,我们要怎样才能留住人才呢?
- 请问那位有现成的数据备份和恢复的文件,我是初学者,请帮忙!我的E-mail:[email protected],在此先谢谢各位了!
- 在Delphi中使用MonthCalender组件,可否在程序中设置某几日的前景色或背景色?
- 各位大虾,如何获取系统BOIS信息?
- 简单的问题!我想动态的改变Listview中节点的SubItems的值,但是却没有成功!可是我去可以动态改变节点的图标呀!请大家给我出出主意!!
- 在delphi里如何往注册表里创建字符串值
- 大家都来看,这是什么鸟问题呀????????
procedure wmnchittest(var msg:twmnchittest);
message wm_nchittest;
在程序部分加入以下代码:
procedure TForm1.wmnchittest(var msg:twmnchittest);
begin
inherited;
if (htclient=msg.result) then msg.result:=htcaption;
end;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
if Button=mbLeft then begin
ReleaseCapture();
Perform(WM_SYSCOMMAND,$F012,0);
end;
end;
我是想美化一个窗体啦
所以做了一图片,就像瑞星杀毒软件的那个界面一样.
我要整体换掉一个界面,用我做的那个窗体界面.那么原来的那个window窗体的标题栏我就把form的borderstyle设为bsnone那么再显示时,这个窗体的标题就没有了,当然这个窗体就没法移动了吧?我做的这个图片里面有这个相当于那个标题的东西,我全是用制图工具做的啦.我如何把我图上的那个标题栏设为窗体的标题栏,用户可以通过它而移动窗体呢???
或者说我的想法就是错的.那么我应如何做????
在private部分加入下列代码:
procedure wmnchittest(var msg:twmnchittest);
message wm_nchittest;
在程序部分加入以下代码:
procedure TForm1.wmnchittest(var msg:twmnchittest);
begin
inherited;
if (htclient=msg.result) then msg.result:=htcaption;
end;
上面的关键代码虽然只有两行,但它实现了鼠标直接拖动窗体的目的。代码的原理是利用窗体的WM_NCHITTEST消息,这个消息是当光标移动、鼠标按下或释放时发生的,当程序检测到鼠标在窗体中按下的消息后(消息的值为htClient),将鼠标在标题栏上按下时产生的消息(值为htCaption)传递出去,这样就巧妙的欺骗程序认为是标题栏被按下,当然就可拖动窗体了。