請問如何用左右鍵控制form上的button動作 |
尚未結案
|
潘米
一般會員 發表:4 回覆:16 積分:4 註冊:2003-10-04 發送簡訊給我 |
|
mieng
中階會員 發表:12 回覆:97 積分:81 註冊:2003-10-31 發送簡訊給我 |
將button的動作寫在 OnKeyUp 事件上,不知能否符合您的要求呢?
void __fastcall TForm1::Button2KeyUp(TObject *Sender, WORD &Key, TShiftState Shift) { Lable1->Caption = "yes"; } //--------------------------------------------------------------------------- void __fastcall TForm1::Button1KeyUp(TObject *Sender, WORD &Key, TShiftState Shift) { Lable1->Caption = "ok"; } //---------------------------------------------------------------------------學習中請大家多多指導呦~~ ☆星霧☆(Mineg Chien WU) |
潘米
一般會員 發表:4 回覆:16 積分:4 註冊:2003-10-04 發送簡訊給我 |
|
潘米
一般會員 發表:4 回覆:16 積分:4 註冊:2003-10-04 發送簡訊給我 |
|
潘米
一般會員 發表:4 回覆:16 積分:4 註冊:2003-10-04 發送簡訊給我 |
|
RaynorPao
版主 發表:139 回覆:3622 積分:7025 註冊:2002-08-12 發送簡訊給我 |
引言: 先對板主說聲抱歉,上面不小心多按到傳送,所以多了兩個發表 ~~~ 程式測試可以成功知道按鍵按下 ~~~ 但是我需要讓 >我這個問題會不會很奇怪呢?? (因為通常按[左右鍵]只會讓選取的位置不同) ~~~希望大家幫幫忙,謝謝!! >>< face="Verdana, Arial, Helvetica"> 潘米 你好: 先試試看利用這篇文章中的做法,自行修改
------
-- 若您已經得到滿意的答覆,請適時結案!! -- -- 欲知前世因,今生受者是;欲知來世果,今生做者是 -- -- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 -- |
潘米
一般會員 發表:4 回覆:16 積分:4 註冊:2003-10-04 發送簡訊給我 |
|
潘米
一般會員 發表:4 回覆:16 積分:4 註冊:2003-10-04 發送簡訊給我 |
|
RaynorPao
版主 發表:139 回覆:3622 積分:7025 註冊:2002-08-12 發送簡訊給我 |
引言: 剛才我試了一下子,若單獨只有此程式,可以明確辨識[上下左右]按鍵 ,但是我多加了一個panel2,然後在上面放四個button(沒寫程式碼),結果按[上下左右]按鍵,程式就只會在那四個button做選擇,而不是讓其中一個button動作,另一個panel1也就不會移動了 不知>>< face="Verdana, Arial, Helvetica"> 潘米 你好: 以你目前的做法來說,我所能想到最快的修正方式,應該就是先把你最後拉的那 四個 Button 改成四個 Panel,這樣子應該就可以執行了 (當然還有其他比較複 雜的方式,以後再說吧) < class="code"> void __fastcall TForm1::FormKeyDown(TObject *Sender, WORD &Key, TShiftState Shift) { if(GetKeyState(VK_UP) & 0x8000) { SendMessage(Panel3->Handle, WM_LBUTTONDOWN, 0, 0); SendMessage(Panel3->Handle, WM_LBUTTONUP, 0, 0); } if(GetKeyState(VK_LEFT) & 0x8000) { SendMessage(Panel4->Handle, WM_LBUTTONDOWN, 0, 0); SendMessage(Panel4->Handle, WM_LBUTTONUP, 0, 0); } if(GetKeyState(VK_RIGHT) & 0x8000) { SendMessage(Panel5->Handle, WM_LBUTTONDOWN, 0, 0); SendMessage(Panel5->Handle, WM_LBUTTONUP, 0, 0); } if(GetKeyState(VK_DOWN) & 0x8000) { SendMessage(Panel6->Handle, WM_LBUTTONDOWN, 0, 0); SendMessage(Panel6->Handle, WM_LBUTTONUP, 0, 0); } } void __fastcall TForm1::Panel3Click(TObject *Sender) { ShowMessage("Panel3Click"); } void __fastcall TForm1::Panel4Click(TObject *Sender) { ShowMessage("Panel4Click"); } void __fastcall TForm1::Panel5Click(TObject *Sender) { ShowMessage("Panel5Click"); } void __fastcall TForm1::Panel6Click(TObject *Sender) { ShowMessage("Panel6Click"); } -- Enjoy Researching & Developing --
------
-- 若您已經得到滿意的答覆,請適時結案!! -- -- 欲知前世因,今生受者是;欲知來世果,今生做者是 -- -- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 -- |
潘米
一般會員 發表:4 回覆:16 積分:4 註冊:2003-10-04 發送簡訊給我 |
|
潘米
一般會員 發表:4 回覆:16 積分:4 註冊:2003-10-04 發送簡訊給我 |
|
RaynorPao
版主 發表:139 回覆:3622 積分:7025 註冊:2002-08-12 發送簡訊給我 |
引言: 我將一般的button改成speedbutton ,似乎可解決目前的問題< > 但是要如何做才能在一個程式段內,呼叫另一個 >今晚再熬夜試試看< > > 潘米 你好: 看看是不是這個樣子寫呢?? < class="code"> SpeedButton1->Click(); -- Enjoy Researching & Developing --
------
-- 若您已經得到滿意的答覆,請適時結案!! -- -- 欲知前世因,今生受者是;欲知來世果,今生做者是 -- -- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 -- |
潘米
一般會員 發表:4 回覆:16 積分:4 註冊:2003-10-04 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |