請問各位大大滑鼠的問題 |
尚未結案
|
minlee1121
一般會員 ![]() ![]() 發表:1 回覆:4 積分:1 註冊:2002-09-01 發送簡訊給我 |
請教各位大大, 原本滑鼠在Win98 下只支援三個按鍵(右鍵,左鍵,和中間滾輪鍵),而win98 後
的版本(Win2000,WinMe,WinXP) ,又多支援兩個擴充4,5 鍵
如果要將這第四和第五鍵加入 delphi 語法中,請問要如何加入?
(在最新的Windows API SDK 中有提到這兩個擴充鍵,一個為MK_XButton1
一個為MK_XButton2 這兩個參數,但不知如何加入delphi,變成delphi 語法) ps. 小弟為初學者,不懂的地方請各位大大多多指教. Thanks.
|
領航天使
站長 ![]() ![]() ![]() ![]() ![]() ![]() 發表:12216 回覆:4186 積分:4084 註冊:2001-07-25 發送簡訊給我 |
引言: 請教各位大大, 原本滑鼠在Win98 下只支援三個按鍵(右鍵,左鍵,和中間滾輪鍵),而win98 後 的版本(Win2000,WinMe,WinXP) ,又多支援兩個擴充4,5 鍵 如果要將這第四和第五鍵加入 delphi 語法中,請問要如何加入? (在最新的Windows API SDK 中有提到這兩個擴充鍵,一個為MK_XButton1 一個為MK_XButton2 這兩個參數,但不知如何加入delphi,變成delphi 語法) ps. 小弟為初學者,不懂的地方請各位大大多多指教. Thanks.那個參數應該只是個數值型態如Word,只要能查出MK_XButton1,MK_XButton2的數值,就可以用數字直接填給API函式了! ~~~Delphi K.Top討論區站長~~~
------
~~~Delphi K.Top討論區站長~~~ |
minlee1121
一般會員 ![]() ![]() 發表:1 回覆:4 積分:1 註冊:2002-09-01 發送簡訊給我 |
感謝大大, 以下是我從SDK 中查到的數值,但是就不知如何在delphi 動作
因為我delphi 是初學,不會使用-_-,請版大多多指點,謝謝. Remarks See the KeyDown event for possible values for Shift. The following table lists the possible values for Button: Value Meaning
1 The left button was pressed.
2 The right button was pressed.
4 The middle button was pressed.
8 The X button 1 was pressed.
10 The X button 2 was pressed.
|
領航天使
站長 ![]() ![]() ![]() ![]() ![]() ![]() 發表:12216 回覆:4186 積分:4084 註冊:2001-07-25 發送簡訊給我 |
|
minlee1121
一般會員 ![]() ![]() 發表:1 回覆:4 積分:1 註冊:2002-09-01 發送簡訊給我 |
|
領航天使
站長 ![]() ![]() ![]() ![]() ![]() ![]() 發表:12216 回覆:4186 積分:4084 註冊:2001-07-25 發送簡訊給我 |
引言: 我想要做一個滑鼠測試程式呀,要測按鍵(五個按鍵的),滾輪,還有畫線..等您試試看以下的程式可不可用 procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin if integer(Button)=8 then showmessage('The X button 1 was pressed.'); if integer(Button)=10 then showmessage('The X button 2 was pressed'); end; ~~~Delphi K.Top討論區站長~~~
------
~~~Delphi K.Top討論區站長~~~ |
minlee1121
一般會員 ![]() ![]() 發表:1 回覆:4 積分:1 註冊:2002-09-01 發送簡訊給我 |
報告站長, 我有使用您的給我的參考方式去試,結果4,5 鍵沒反應 但是您給我的方式我去測左,中,右,鍵(我用數值代進去) 結果有問題
跟SDK 上寫的數質不一樣 之後我用您給我的方式去測按鍵數字,如下: procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
Label1.Caption := IntToStr(Integer(Button));
end; 結果測出結果 左,中,右 鍵數值各為 1,2,0(跟SDK 給的數值不一樣,好奇怪) 我用測出各鍵數值結果寫入程式如下 If Integer(button) = 0 Then .....等等..
結果真的左,中,右鍵可以動作
但是問題來了,我按4,5 鍵始終沒有反應 -_- 不過真是謝謝站長,我又學到一招..另外,請大大能繼續指教 感激不盡 ^^
|
領航天使
站長 ![]() ![]() ![]() ![]() ![]() ![]() 發表:12216 回覆:4186 積分:4084 註冊:2001-07-25 發送簡訊給我 |
會不會Delphi內部的MouseDown的事件只會接受這三個標準鍵?
若是就麻煩了?我手上無五鍵的Mouse,您先測下面的程式,
看看按下第4/5鍵後有無出現數值? procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
ShowMessage(inttostr(integer(Button)));
end; ~~~Delphi K.Top討論區站長~~~
------
~~~Delphi K.Top討論區站長~~~ |
minlee1121
一般會員 ![]() ![]() 發表:1 回覆:4 積分:1 註冊:2002-09-01 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |