筆者的問題是在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爲Popup或OverLapped倒是解決了輸入的問題,但是窗口不在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剛好不需要設置標題欄。
暫時就這樣,上面 重寫PreTranslateMessage指出手繪輸入框是個個最終解決方案,感興趣的不妨一試。