全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:698
推到 Plurk!
推到 Facebook!

TForm 是怎麼處理子元件的 keystroke 事件呢?

尚未結案
tqpzxy
一般會員


發表:13
回覆:22
積分:7
註冊:2003-11-13

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-05-20 23:16:59 IP:203.187.xxx.xxx 未訂閱
請問各位前輩 TForm 是怎麼處理子元件的 keystroke 事件呢?    我寫了一個 class 將 API 的 RICHEDIT_CLASS 元件包在裡面,這個 class 由 dll 檔匯出,沒有繼承 TObject 的任何物件(因為對 VCL 不熟)。    程式跑的時候外觀看起來都很正常, rich edit control 的功能也正常,除了在 rich edit control 為 focused control 時按 tab 鍵及方向鍵例外。    每當在 rich edit control 上按 tab 鍵, keyboard focus 會跑到其他 VCL 的元件上,但繼續按 tab , keyboard focus 卻怎麼也不回 rich edit control 。(我的 rich edit control 已經設成 WS_GROUP | WS_TABSTOP 。) 另外就是當在 rich edit control 上按方向鍵時,正常的情況是 caret 該在文字間遊移,但是卻不是這樣。一按下方向鍵,變成了在其他元件中切換 keyboard focus 。已試過截斷 rich edit control 的 WM_KEYDOWN 訊息,不過還是沒用,按下方向鍵 keyboard focus 還是照樣在其他 VCL 元件中跑來跑去。實在是猜不透是什麼訊息讓 rich edit control 的方向鍵變成「切換 focused control 」。 好心的大大教教我吧!謝謝囉! ^^
系統時間:2024-11-22 22:12:49
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!