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

Shift_TAB 的問題

尚未結案
boson
中階會員


發表:74
回覆:155
積分:85
註冊:2004-07-31

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-08-22 10:12:42 IP:61.216.xxx.xxx 未訂閱
我知道可以在 TEdit 元件的 KeyDown 事件中 加上下列的程式碼, 使得 Enter 可取代 Tab 鍵: if (Key = VK_RETURN) then begin PostMessage(Self.Handle, WM_KEYDOWN, VK_TAB, 0); end 可是, 如果我想讓使用者按下方向鍵的[上鍵]時 Focus 可以移到上一個控制項, 就好像按下 Shift-TAB 一樣 也就是說, 以[上鍵]取代 [Shift-TAB] 我該怎麼做呢 ?
00156
高階會員


發表:45
回覆:195
積分:112
註冊:2002-06-01

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-08-22 11:44:33 IP:61.56.xxx.xxx 未訂閱
引言: 我知道可以在 TEdit 元件的 KeyDown 事件中 加上下列的程式碼, 使得 Enter 可取代 Tab 鍵: if (Key = VK_RETURN) then begin PostMessage(Self.Handle, WM_KEYDOWN, VK_TAB, 0); end 可是, 如果我想讓使用者按下方向鍵的[上鍵]時 Focus 可以移到上一個控制項, 就好像按下 Shift-TAB 一樣 也就是說, 以[上鍵]取代 [Shift-TAB] 我該怎麼做呢 ?
您可以考慮直接在Form的onKeyDown裡呼叫FindNextControl方法來指定焦點
case KEY of
  VK_RETURN:FindNextControl(ActiveControl, true, true, true);
  VK_UP    :FindNextControl(ActiveControl, false, true, true);
end;
boson
中階會員


發表:74
回覆:155
積分:85
註冊:2004-07-31

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-08-22 12:01:33 IP:61.216.xxx.xxx 未訂閱
此法可行, 不過似乎應修改一點點: case KEY of VK_RETURN:FindNextControl(ActiveControl, true, true, true).SetFocus; VK_UP :FindNextControl(ActiveControl, false, true, true).SetFocus; end; 還有其他方法嗎 ?
00156
高階會員


發表:45
回覆:195
積分:112
註冊:2002-06-01

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-08-22 17:00:02 IP:61.56.xxx.xxx 未訂閱
引言: 此法可行, 不過似乎應修改一點點: case KEY of VK_RETURN:FindNextControl(ActiveControl, true, true, true).SetFocus; VK_UP :FindNextControl(ActiveControl, false, true, true).SetFocus; end;
不好意思,忘了SetFocus...
deity
尊榮會員


發表:90
回覆:876
積分:678
註冊:2003-05-09

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-08-23 10:32:45 IP:218.15.xxx.xxx 未訂閱
引言: 此法可行, 不過似乎應修改一點點: case KEY of VK_RETURN:FindNextControl(ActiveControl, true, true, true).SetFocus; VK_UP :FindNextControl(ActiveControl, false, true, true).SetFocus; end; 還有其他方法嗎 ? boson 您好: 参考下面: http://delphi.ktop.com.tw/topic.php?topic_id=53130 http://delphi.ktop.com.tw/topic.php?topic_id=32253 P.D.大大所答: 1.dBedit 之前經指點可以用 Enter 鍵移下一欄位, 但如果 要返回上欄位, 可以不要用 Shift Tab 鍵嗎? 用向上鍵可以嗎? 本站下載 DOSMOVE 元件, 不用撰寫任何CODE, 就可以達成了! DOSMOVE 元件 见danny大大发表: 【發表】TDosMove v2.0 a (正式版) http://delphi.ktop.com.tw/topic.php?topic_id=25454 可试试看
——行径窄处,留一步与人行—— ——
系統時間:2024-05-17 18:32:45
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!