攔截 Tab key 問題 |
答題得分者是:pedro
|
blue
中階會員 發表:170 回覆:136 積分:81 註冊:2002-04-15 發送簡訊給我 |
Hi,各位先進大家好:
請教比較適合的寫法: 假設Form上有10個TEdit輸入欄位, 其中有一個欄位(Edit5)在使用者按下Tab鍵時先檢查是否要跳下一個欄位, 故加了 CMDialogKey procedure TForm1.CMDialogKey(var msg: TCMDialogKey); begin if Msg.CharCode <> VK_TAB then inherited; end; procedure TForm1.Edit5KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if Key = 9 then : : end; 可是當加了 CMDialogKey, 其他的TEdit在按下Tab時就不會自動跳下一個欄位, 請教除了在每一個TEdit中的KeyDown事件處理跳下一個欄位之外,有沒有比較簡漯的辦法? 謝謝! |
pedro
尊榮會員 發表:152 回覆:1187 積分:892 註冊:2002-06-12 發送簡訊給我 |
Hi blue,
試試下面這段程式, 或許是你想要的? procedure TForm1.CMDialogKey(var AMessage: TCMDialogKey); begin if AMessage.CharCode <> VK_TAB then inherited else begin if Self.ActiveControl=Edit2 then begin showmessage('先做一些事'); end; SelectNext(self.ActiveControl, True, True); AMessage.Result := 1; end; end; ===================引 用 blue 文 章=================== 假設Form上有10個TEdit輸入欄位, 其中有一個欄位(Edit5)在使用者按下Tab鍵時先檢查是否要跳下一個欄位, |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |