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

請問...在OnMouseDown event中改變cursor

尚未結案
apang
一般會員


發表:11
回覆:20
積分:6
註冊:2003-06-23

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-07-01 14:29:14 IP:211.23.xxx.xxx 未訂閱
在此先感謝各位先進看小弟的問題^^ 小弟我有如下的動作 void __fastcall TForm1::Panel1MouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y) { TPanel *panel = (TPanel*)Sender; panel->Cursor = crDrag; } 但此動作只會在MouseUp之後才有作用... 我的目的是就算Mouse狀態不改變(在此便是不需發生MouseUp, 仍然是MouseDown時), Cursor便如預期的改變 該如何達成呢??
RaynorPao
版主


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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-07-01 21:18:34 IP:61.221.xxx.xxx 未訂閱
引言: 在此先感謝各位先進看小弟的問題^^ 小弟我有如下的動作 void __fastcall TForm1::Panel1MouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y) { TPanel *panel = (TPanel*)Sender; panel->Cursor = crDrag; } 但此動作只會在MouseUp之後才有作用... 我的目的是就算Mouse狀態不改變(在此便是不需發生MouseUp, 仍然是MouseDown時), Cursor便如預期的改變 該如何達成呢??
apang 你好: 試試看這樣寫可不可以呢?? < class="code"> void __fastcall TForm1::Panel1MouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y) { Screen->Cursor=crDrag; } //--------------------------------------------------------------------------- void __fastcall TForm1::Panel1MouseUp(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y) { Screen->Cursor=crDefault; } -- Enjoy Researching & Developing --
------
-- 若您已經得到滿意的答覆,請適時結案!! --
-- 欲知前世因,今生受者是;欲知來世果,今生做者是 --
-- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 --
apang
一般會員


發表:11
回覆:20
積分:6
註冊:2003-06-23

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-07-02 08:54:32 IP:211.23.xxx.xxx 未訂閱
非常感謝Pao兄的回答^^ 這樣做就可以了...謝謝 不過再請教一下, Panel->Cursor (Panel延伸為任何VCL component) 與 Screen->Cursor 之間差異在哪呢? 因為Screen->Cursor會對目前的 Application 作一 global 的 cursor改變, 難道無法單只對 TPanel(延伸為任何VCL component) 作如同Screen->Cursor 一般的操作嗎? ps:因為工作的關係, 小弟同事與您早已認識, 也間接知道Pao兄實力深厚, 若您不介意, 希望您不棄嫌未來小弟向Pao兄作任何請教, 謝謝^^
RaynorPao
版主


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

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-07-02 16:14:56 IP:203.73.xxx.xxx 未訂閱
引言: 非常感謝Pao兄的回答^^ 這樣做就可以了...謝謝 不過再請教一下, Panel->Cursor (Panel延伸為任何VCL component) 與 Screen->Cursor 之間差異在哪呢? 因為Screen->Cursor會對目前的 Application 作一 global 的 cursor改變, 難道無法單只對 TPanel(延伸為任何VCL component) 作如同Screen->Cursor 一般的操作嗎? ps:因為工作的關係, 小弟同事與您早已認識, 也間接知道Pao兄實力深厚, 若您不介意, 希望您不棄嫌未來小弟向Pao兄作任何請教, 謝謝^^
apang 你好:
(1)關於 Screen->Cursor 與 Panel1->Cursor 之間的差異,老實說~~我也不知
   道該如何解釋,小弟我猜~~應該是跟  >?? 可能要
   親自 >> >,只是小弟我已經比較少答題
   (原因我寫在這裡  >
(>    -- 
        
------
-- 若您已經得到滿意的答覆,請適時結案!! --
-- 欲知前世因,今生受者是;欲知來世果,今生做者是 --
-- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 --
apang
一般會員


發表:11
回覆:20
積分:6
註冊:2003-06-23

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-07-07 09:46:42 IP:211.23.xxx.xxx 未訂閱
void __fastcall TImgViewPort::Panel1MouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y) { HCURSOR hCursor; hCursor = ::LoadCursor((HINSTANCE)HInstance, "ZOOMCURSOR"); ::SetCursor(hCursor); } //----------------------------------------------------------------- 其實這樣做, 就可以達到在MouseDown時(MouseDown狀態未變動)改變Cursor ...
系統時間:2024-05-07 9:23:04
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!