TForm 是怎麼處理子元件的 keystroke 事件呢? |
尚未結案
|
tqpzxy
一般會員 發表:13 回覆:22 積分:7 註冊:2003-11-13 發送簡訊給我 |
請問各位前輩 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 」。 好心的大大教教我吧!謝謝囉! ^^
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |