開(kāi)通VIP,暢享免費電子書(shū)等14項超值服
首頁(yè)
好書(shū)
留言交流
下載APP
聯(lián)系客服
2010.09.09
1.Edit窗口是用來(lái)接收用戶(hù)輸入最常用的一個(gè)控件。創(chuàng )建一個(gè)輸入窗口可以使用成員函數: BOOL CEdit::Create( LPCTSTR lpszText, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID = 0xffff ); 其中dwStyle將指明該窗口的風(fēng)格,除了子窗口常用的風(fēng)格WS_CHILD,WS_VISIBLE外,你可以針對輸入控件指明專(zhuān)門(mén)的風(fēng)格。 ES_AUTOHSCROLL,ES_AUTOVSCROLL 指明輸入文字超出顯示范圍時(shí)自動(dòng)滾動(dòng)。 ES_CENTER,ES_LEFT,ES_RIGHT 指定對齊方式 ES_MULTILINE 是否允許多行輸入 ES_PASSWORD 是否為密碼輸入框,如果指明該風(fēng)格則輸入的文字顯示為* ES_READONLY 是否為只讀 ES_UPPERCASE,ES_LOWERCASE 顯示大寫(xiě)/小寫(xiě)字符 控制顯示的文本利用成員函數SetWindowText/GetWindowText用于設置/得到當前顯示的文本。 通過(guò)GetLimitText/SetLimitText可以得到/設置在輸入框中輸入的字符數量。 由于在輸入時(shí)用戶(hù)可能選擇某一段文本,所以通過(guò)void CEdit::GetSel( int& nStartChar, int& nEndChar )得到用戶(hù)選擇的字符范圍,通過(guò)調用void CEdit::SetSel( int nStartChar, int nEndChar, BOOL bNoScroll = FALSE )可以設置當前選擇的文本范圍,如果指定nStartChar=0 nEndChar=-1則表示選中所有的文本。void ReplaceSel( LPCTSTR lpszNewText, BOOL bCanUndo = FALSE )可以將選中的文本替換為指定的文字。 此外輸入框還有一些和剪貼板有關(guān)的功能,void Clear( );刪除選中的文本,void Copy( );可將選中的文本送入剪貼板,void Paste( );將剪貼板中內容插入到當前輸入框中光標位置,void Cut( );相當于Copy和Clear結合使用。 最后介紹一下輸入框幾種常用的消息映射宏: ON_EN_CHANGE 輸入框中文字更新后產(chǎn)生 ON_EN_ERRSPACE 輸入框無(wú)法分配內存時(shí)產(chǎn)生 ON_EN_KILLFOCUS / ON_EN_SETFOCUS 在輸入框失去/得到輸入焦點(diǎn)時(shí)產(chǎn)生 使用以上幾種消息映射的方法為定義原型如:afx_msg void memberFxn( );的函數,并且定義形式如ON_Notification( id, memberFxn )的消息映射。如果在對話(huà)框中使用輸入框,Class Wizard會(huì )自動(dòng)列出相關(guān)的消息,并能自動(dòng)產(chǎn)生消息映射代碼。
微信登錄中...請勿關(guān)閉此頁(yè)面