OCX編輯框不能輸入問題

筆者的問題是在IE瀏覽器中打開OCX點擊輸入框光標無法定位,導致無法輸入的BUG
以下爲筆者的各種嘗試

一、EnableWindow

比較簡單 設置EnableWindow(true)
GetDlgItem(IDC_EDIT_XX)->EnableWindow(true);
當然這麼簡單就不會說了,嘗試後並沒解決

二、SetFocus

https://bbs.csdn.net/topics/300020542
這是一個OCX經典BUG,那麼到底能不能解決呢?
GetDlgItem(IDC_SAMPLE_NAME)->SetFocus();
仍然無效

三、修改Style

修改Style
設置StylePopupOverLapped倒是解決了輸入的問題,但是窗口不在IE裏面。

四、OnInitDialog return False

設置攔截焦點爲False,本以爲解決了,可是還是沒效果
https://blog.csdn.net/u010921682/article/details/52603086

五、重寫PreTranslateMessage

mfc非模態對話框Child窗口CEdit控件獲取不到焦點問題
https://blog.csdn.net/evil_119/article/details/76079858
然而沒效果

六、隱藏TitleBar(解決)

TitleBar設置成False,讓他不展示,可以暫時解決,但是效果不理想,不能響應刪除鍵,我這裏做Ocx剛好不需要設置標題欄。
titlebar

暫時就這樣,上面 重寫PreTranslateMessage指出手繪輸入框是個個最終解決方案,感興趣的不妨一試。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章