線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1539
推到 Plurk!
推到 Facebook!

form不按標題欄也能移動

答題得分者是:Vicen
elctppo
一般會員


發表:28
回覆:22
積分:10
註冊:2005-04-01

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-10-16 09:59:16 IP:202.175.xxx.xxx 未訂閱
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; 我在站裏找到了這個 . .. . 但是這樣form上面的其他東西 . . .按了卻沒有反應 . . . 該怎麼辦?? http://www.mezone.net
Vicen
高階會員


發表:13
回覆:145
積分:151
註冊:2005-03-14

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-10-18 08:30:16 IP:221.226.xxx.xxx 未訂閱
这类程序不需要用到消息拦截,弊病太多。    试试以下方法,在窗体MOUSEDOWN事件种写就可以了,也可以在任意控件的MOUSEDOWN事件写,这种方法是利用向窗体发送wm_SysCommand消息完成的。    
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
Const
  Sc_DragMove:LongInt=$F012;
begin
  if Button = mbLeft then//是否是鼠标左键
  begin
    ReleaseCapture;
    SendMessage(handle,wm_SysCommand,Sc_DragMove,0);
  end;
end;
elctppo
一般會員


發表:28
回覆:22
積分:10
註冊:2005-04-01

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-10-20 10:37:00 IP:202.175.xxx.xxx 未訂閱
謝謝大大~ 但是我不太明白 消息 是怎麼一回事, 上面那些我完全不明白,不知有沒有相關的教學或者可以指點一下, 謝謝大大€ http://www.mezone.net
Vicen
高階會員


發表:13
回覆:145
積分:151
註冊:2005-03-14

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-10-20 12:53:05 IP:221.226.xxx.xxx 未訂閱
Windows其实就是基于消息机制的,这个东东并无法三言两语就能说明白的,建议你找一本关于WINDOWS系统的书来阅读一下,对以后程序生涯还是有好处的,毕竟在WINDOWS时代。 SendMessage是消息发送函数,这个方法是当MOUSEDOWN时,向窗体发送拖动的消息来实现窗体移动的。
系統時間:2024-05-19 17:12:12
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!