Form的移動問題 等。 我把Formr的,BorderStyle的屬性改為,bsNone形試,現在form不能移,問,要加什麼代碼進去才能移動。 謝謝。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 转贴不用标题栏也移动窗体 一般情况下,移动一个窗体需要将鼠标放置在标题栏上才能拖动窗体,为 什么非要使用标题栏呢?其实我们可以使用一个巧妙的方法来实现将鼠标放置 在窗体上按下就可拖动窗体,下面先看实现代码。在Form1的“Private”部分声明过程:在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)传递出去,这样就巧妙的欺骗程序认为是标题栏被按下,当然就可拖动窗体了。 点击窗体任何位置都可以移动窗体:procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);begin ReleaseCapture; self.Perform(WM_syscommand,$F012,0);end;怎么样,解决了吧?! 在网站如何获如数据 【调查】经常被拖欠工资,你是怎么对待的? 怎样在点击DBGrid中的表头出现排序的那个小三角符号?? 这种思路该怎么实现?着急 如何限制edit中输入字符的个数? 选出字段值赋给变量? ***怎么设MDI主窗体和一个子窗体*** 请进,那是个什么错误? 嗨,我今天发现有地方在送免费VCD,以下是地址,去看看吧: 各位高人,能告诉我一下Data Modules使用方法和它用处吗? 为什么我加了一个字段就不行了 错在哪里
一般情况下,移动一个窗体需要将鼠标放置在标题栏上才能拖动窗体,为 什么非要使用标题栏呢?其实我们可以使用一个巧妙的方法来实现将鼠标放置 在窗体上按下就可拖动窗体,下面先看实现代码。在Form1的“Private”部分声明过程:在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)传递出去,这样就巧妙的欺骗程序认为是标题栏被按下,当然就可拖动窗体了。
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
ReleaseCapture;
self.Perform(WM_syscommand,$F012,0);
end;怎么样,解决了吧?!