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

關於OnMouseDown、Up、Move事件的問題.

尚未結案
kj68215
初階會員


發表:47
回覆:91
積分:27
註冊:2003-08-09

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-01-25 14:34:32 IP:61.231.xxx.xxx 未訂閱
小弟在想說,在Form1上. 1.先新增一個Panel1當桌底 2.然後在Panel1上,新增30個不等的Label或是Edit等相關元件 請問,使用OnMouseDown、Up、Move的方法中,有什麼比較快的辦法可以讓所有的Label、Edit等元件移動?! 3.有沒有辦法在"沒有使用SetCapture"等就有辦法解決呢?還是說一定要使用? p.s:不是移動一個,所有的都會跟著一起移動唷!是單單一個移動. ----------------------- 請多多指教啦!!^^
------
-----------------------
請多多指教啦!!^^
hahalin
版主


發表:295
回覆:1698
積分:823
註冊:2002-04-14

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-01-25 15:50:59 IP:211.76.xxx.xxx 未訂閱
check this http://delphi.ktop.com.tw/topic.php?TOPIC_ID=28591 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=28622
RaynorPao
版主


發表:139
回覆:3622
積分:7025
註冊:2002-08-12

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-01-25 21:55:34 IP:61.221.xxx.xxx 未訂閱
引言: 小弟在想說,在Form1上. 1.先新增一個Panel1當桌底 2.然後在Panel1上,新增30個不等的Label或是Edit等相關元件 請問,使用OnMouseDown、Up、Move的方法中,有什麼比較快的辦法可以讓所有的Label、Edit等元件移動?! 3.有沒有辦法在"沒有使用SetCapture"等就有辦法解決呢?還是說一定要使用? p.s:不是移動一個,所有的都會跟著一起移動唷!是單單一個移動. ----------------------- 請多多指教啦!!^^
kj68215 你好: 請參考以下的連結文章 src="http://delphi.ktop.com.tw/loadfile.php?TOPICID=10003806&CC=223734"> -- Enjoy Researching & Developing --
------
-- 若您已經得到滿意的答覆,請適時結案!! --
-- 欲知前世因,今生受者是;欲知來世果,今生做者是 --
-- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 --
kj68215
初階會員


發表:47
回覆:91
積分:27
註冊:2003-08-09

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-01-26 16:58:18 IP:61.231.xxx.xxx 未訂閱
這些......應該不是小弟需要的資訊耶! 講更白一點,小弟需要的是如何用滑鼠拖曳這 > 至於 class="code"> tpanel(self.Controls[i]).OnMouseMove:=mymousemove; tpanel(self.Controls[i]).OnMousedown:=mymousedown; tpanel(self.Controls[i]).OnMouseup:=mymouseup; 另外,你的mymouseDown、mymouseMove、mymouseUp,是只FormMouseDown、FormMouseMove、FormMouseUp,沒錯吧?! ----------------------- 請多多指教啦!!^^
------
-----------------------
請多多指教啦!!^^
RaynorPao
版主


發表:139
回覆:3622
積分:7025
註冊:2002-08-12

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-01-27 01:31:40 IP:61.221.xxx.xxx 未訂閱
引言: 這些......應該不是小弟需要的資訊耶! 講更白一點,小弟需要的是如何用滑鼠拖曳這 > 至於 class="code"> tpanel(self.Controls[i]).OnMouseMove:=mymousemove; tpanel(self.Controls[i]).OnMousedown:=mymousedown; tpanel(self.Controls[i]).OnMouseup:=mymouseup; 另外,你的mymouseDown、mymouseMove、mymouseUp,是只FormMouseDown、FormMouseMove、FormMouseUp,沒錯吧?! ----------------------- 請多多指教啦!!^^
kj68215 你好: 其實只要把以上四篇文章的做法合在一起,就可以達到你想要的目的 src="http://delphi.ktop.com.tw/loadfile.php?TOPICID=10003806&CC=223734"> -- Enjoy Researching & Developing --
------
-- 若您已經得到滿意的答覆,請適時結案!! --
-- 欲知前世因,今生受者是;欲知來世果,今生做者是 --
-- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 --
kj68215
初階會員


發表:47
回覆:91
積分:27
註冊:2003-08-09

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-01-27 04:16:11 IP:61.231.xxx.xxx 未訂閱
原來如此! 很不一樣的寫法,讓小弟學到了不少! thx. 另外在這篇的問題中, class="code"> public { Public declarations } procedure setmode(index:integer;ctl:twincontrol); : : : procedure TForm1.setmode(index: integer; ctl: twincontrol);//RadioGroup1.ItemIndex var i:integer; begin case index of 0: begin for i:=0 to ctl.Controlcount -1 do begin tpanel(ctl.Controls[i]).OnMouseMove:=nil; tpanel(ctl.Controls[i]).OnMousedown:=nil; tpanel(ctl.Controls[i]).OnMouseup:=nil; end; end; 1: begin for i:=0 to ctl.Controlcount -1 do beginprocedure TForm1.setmode(index: integer; ctl: twincontrol); var i:integer; if ctl.Controls[i].Parent = ctl then begin tpanel(ctl.Controls[i]).OnMouseMove:=mymousemove; tpanel(ctl.Controls[i]).OnMousedown:=mymousedown; tpanel(ctl.Controls[i]).OnMouseup:=mymouseup; end; end; end; end; end; 我有試過用bcb的方式去寫,但不知道對不對?↙
int i,rg1;
rg1=RadioGroup1->ItemIndex;
switch(rg1)
  {
  case 0:
         for (i=0;iControlCount-1;i  )
           {
           TPanel(Panel2->Controls[i])->&MyMouseMove;
           TPanel(Panel2->Controls[i])->&MyMouseDown;
           TPanel(Panel2->Controls[i])->&MyMouseUp;
           TPanel(Panel2->Controls[i])->NULL;
           }
           break;
  case 1:
         for (i=0;iControlCount-1;i  )
           {
           TPanel(Panel2->Controls[i])->NULL;
           TPanel(Panel2->Controls[i])->NULL;
           TPanel(Panel2->Controls[i])->NULL;
           TPanel(Panel2->Controls[i])->&MyClick;
           }
           break;
  }
我也很像試試看hahalin提供的寫法. 很希望RaynorPao兄,能指點一下小弟! p.s:若這有超過主題範圍的話,那小弟會另開一個主題. 發表人 - kj68215 於 2004/01/27 04:36:51
------
-----------------------
請多多指教啦!!^^
系統時間:2024-11-23 9:33:48
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!