關于C#回車切換焦點實現的探討
C#回車切換焦點實現的探討,我們在學習 Windows程序中Tab鍵是默認的切換輸入焦點的按鍵,但用回車鍵切換輸入焦點更符合人們的輸入習慣。Delphi、VB中這個問題比較容易解決,VC 中卻很少有資料提到。通過反復嘗試C#回車切換焦點的實現,我找到了一種方法,或許對大家有所幫助。
C#回車切換焦點實現1.
VC 中appwizard生成一個基于對話框的程序。切換resourseview狀態,在對話框中插入一個編輯框,同時修改其styles屬性,選中multiline 、want return兩項。
C#回車切換焦點實現2.
①在classwizard中選add class增加一個新類,name定義為myedit,base class選擇edit。其余采用默認選項。
②在新生成的my-edit類中加入wm-keydown的消息映射函數,加入如下代碼。
- oid Myedit::OnKeyDown(UINT nChar,
- UINT nRepCnt, UINT nFlags)
- {
- // TODO: Add your message handler code here and/or call default
- if (nChar= = VK_RETURN) //插入開始部分
- {
- CDialog* Pwnd=(CDialog*)GetParent() ;//取得對話框指針
- Pwnd->NextDlgCtrl( ); //切換到下一個輸入焦點
- }
- //插入結束部分
- CEditView::OnKeyDown(nChar, nRepCnt, nFlags);
- }
C#回車切換焦點實現3.
在classwizard中選擇 member variables 選項,class name選擇對話框類,control ids中選擇編輯框的id號,然后選擇add variable按扭。在對話框中 categary選擇control, variable type 剛才定義的類myedit。
至此,全部工作結束,編譯運行程序,定位到編輯框中輸入回車鍵,看一看效果如何。
C#回車切換焦點的相關內容就向你介紹到這里,希望對你了解和學習C#回車切換焦點的實現有所幫助。
【編輯推薦】