關(guān)于C#回車切換焦點(diǎn)實(shí)現(xiàn)的探討
C#回車切換焦點(diǎn)實(shí)現(xiàn)的探討,我們?cè)趯W(xué)習(xí) Windows程序中Tab鍵是默認(rèn)的切換輸入焦點(diǎn)的按鍵,但用回車鍵切換輸入焦點(diǎn)更符合人們的輸入習(xí)慣。Delphi、VB中這個(gè)問(wèn)題比較容易解決,VC 中卻很少有資料提到。通過(guò)反復(fù)嘗試C#回車切換焦點(diǎn)的實(shí)現(xiàn),我找到了一種方法,或許對(duì)大家有所幫助。
C#回車切換焦點(diǎn)實(shí)現(xiàn)1.
VC 中appwizard生成一個(gè)基于對(duì)話框的程序。切換resourseview狀態(tài),在對(duì)話框中插入一個(gè)編輯框,同時(shí)修改其styles屬性,選中multiline 、want return兩項(xiàng)。
C#回車切換焦點(diǎn)實(shí)現(xiàn)2.
①在classwizard中選add class增加一個(gè)新類,name定義為myedit,base class選擇edit。其余采用默認(rèn)選項(xiàng)。
②在新生成的my-edit類中加入wm-keydown的消息映射函數(shù),加入如下代碼。
- 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() ;//取得對(duì)話框指針
- Pwnd->NextDlgCtrl( ); //切換到下一個(gè)輸入焦點(diǎn)
- }
- //插入結(jié)束部分
- CEditView::OnKeyDown(nChar, nRepCnt, nFlags);
- }
C#回車切換焦點(diǎn)實(shí)現(xiàn)3.
在classwizard中選擇 member variables 選項(xiàng),class name選擇對(duì)話框類,control ids中選擇編輯框的id號(hào),然后選擇add variable按扭。在對(duì)話框中 categary選擇control, variable type 剛才定義的類myedit。
至此,全部工作結(jié)束,編譯運(yùn)行程序,定位到編輯框中輸入回車鍵,看一看效果如何。
C#回車切換焦點(diǎn)的相關(guān)內(nèi)容就向你介紹到這里,希望對(duì)你了解和學(xué)習(xí)C#回車切換焦點(diǎn)的實(shí)現(xiàn)有所幫助。
【編輯推薦】