2007年3月5日 星期一

倉庫番鍵盤改寫

本週的作業是把佳玉已經設定好的倉庫番,移動方式從滑鼠控制改成鍵盤亦可操控。

從課本6-2的內容可以發現,其實鍵盤的每個按鈕都有一個特定的代碼,
我使用的是Form1的OnKeyDown,
if (Key == 37) {Copy原本放在←的程式} //不敢亂動程式,怕之後出錯。
if (Key == 38) {Copy原本放在↑的程式}
if (Key == 39) {Copy原本放在→的程式}
if (Key == 40) {Copy原本放在↓的程式}

做到這步後,卻發現一個大問題!!
因為BCB按鈕太貼心了!!設計了可以用Tab移動or用方向鍵選擇按鈕的功能,
導致沒辦法直接使用鍵盤操控貓咪的移動。

在這個階段時,我先把所有按鈕都Enabled(讓按鈕不能使用),
確認可以使用鍵盤操控後才繼續進行下個步驟。

因為總是會用到按鈕(Restart&Game Rule),
=>我不能把按鈕功能全部移除,得想個辦法讓按鈕的Tab功能失效。

我嘗試過TabStop的設定,但是似乎不能用鍵盤讓TabStop。

最後=>根據老師的建議,以及一些想法....
我嘗試讓按鈕在OnMouseMove時Enabled才等於true的狀態,
//↑其實這個有點沒意義
接著在按鈕有關的程式內的最後一行全部加上ButtonX->Enabled=false;
後來終於成功了~~

結論:原來應該直接設定Enabled,而不是在TabStop上打轉

沒有留言: