久久―日本道色综合久久,亚洲欧美精品在线,狼狼色丁香久久婷婷综合五月,香蕉人人超,日本网站黄,国产在线观看不卡免费高清,无遮挡的毛片免费

2023信創(chuàng)獨角獸企業(yè)100強
全世界各行各業(yè)聯(lián)合起來,internet一定要實現(xiàn)!

VC++之Edit Box控件

2004-02-10 eNet&Ciweek

Edit窗口是用來接收用戶輸入最常用的一個控件。創(chuàng)建一個輸入窗口可以使用成員函數(shù):

  BOOL CEdit::Create( LPCTSTR lpszText, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID = 0xffff );

  其中dwStyle將指明該窗口的風(fēng)格,除了子窗口常用的風(fēng)格WS_CHILD,WS_VISIBLE外,你可以針對輸入控件指明專門的風(fēng)格。
ES_AUTOHSCROLL,ES_AUTOVSCROLL 指明輸入文字超出顯示范圍時自動滾動。
ES_CENTER,ES_LEFT,ES_RIGHT 指定對齊方式
ES_MULTILINE 是否允許多行輸入
ES_PASSWORD 是否為密碼輸入框,如果指明該風(fēng)格則輸入的文字顯示為*
ES_READONLY 是否為只讀
ES_UPPERCASE,ES_LOWERCASE 顯示大寫/小寫字符

  控制顯示的文本利用成員函數(shù)SetWindowText/GetWindowText用于設(shè)置/得到當(dāng)前顯示的文本。

  通過GetLimitText/SetLimitText可以得到/設(shè)置在輸入框中輸入的字符數(shù)量。

  由于在輸入時用戶可能選擇某一段文本,所以通過void CEdit::GetSel( int& nStartChar, int& nEndChar )得到用戶選擇的字符范圍,通過調(diào)用void CEdit::SetSel( int nStartChar, int nEndChar, BOOL bNoScroll = FALSE )可以設(shè)置當(dāng)前選擇的文本范圍,如果指定nStartChar=0 nEndChar=-1則表示選中所有的文本。void ReplaceSel( LPCTSTR lpszNewText, BOOL bCanUndo = FALSE )可以將選中的文本替換為指定的文字。

  此外輸入框還有一些和剪貼板有關(guān)的功能,void Clear( );刪除選中的文本,void Copy( );可將選中的文本送入剪貼板,void Paste( );將剪貼板中內(nèi)容插入到當(dāng)前輸入框中光標(biāo)位置,void Cut( );相當(dāng)于Copy和Clear結(jié)合使用。


  最后介紹一下輸入框幾種常用的消息映射宏:
ON_EN_CHANGE 輸入框中文字更新后產(chǎn)生
ON_EN_ERRSPACE 輸入框無法分配內(nèi)存時產(chǎn)生
ON_EN_KILLFOCUS / ON_EN_SETFOCUS 在輸入框失去/得到輸入焦點時產(chǎn)生
 
 使用以上幾種消息映射的方法為定義原型如:afx_msg void memberFxn( );的函數(shù),并且定義形式如ON_Notification( id, memberFxn )的消息映射。如果在對話框中使用輸入框,Class Wizard會自動列出相關(guān)的消息,并能自動產(chǎn)生消息映射代碼。

相關(guān)頻道: eNews

您對本文或本站有任何意見,請在下方提交,謝謝!

投稿信箱:tougao@enet16.com