📄 index044.htm
字号:
<html>
<style type="text/css"><!--
.p9 { font-family: "宋体"; font-size: 9pt}a {text-transform: none; text-decoration: none;}
a:hover {text-decoration: underline; color: #FF0000;}
--></style>
<body background="../../../backg.jpg">
<h3 align="center"><font COLOR="#AOAO99"></font></h3>
<table width="100%" border="1" cellspacing="1">
<tr><td><p align="center"><font color="#FF0000">如何限制编辑框中的准许字符</font></td></tr>
<tr><td><p>
</Br>
如果用户在编辑控件中只允许接收数字,可以使用一个标准的编辑控件并指定新的创建标志ES_NUMBERS,它是Windows 95新增加的标志,该标志限制 编辑控件只按收数字字符。如果用户需要复杂的编辑控件,可以使用Microsoft 的屏蔽编辑控件,它是一个很有用的OLE定制控件。<Br>
如果希望不使用OLE 定制控件自己处理字符,可以派生一个CEdit类并处理WM_CHAR消息,然后从编辑控件中过滤出特定的字符。首先,使用ClassWizard建立一个 CEdit的派生类,其次,在对话类中指定一个成员变量将编辑控件分类在OnInitdialog 中调用CWnd: : SubclassDlgItem .<Br>
</Br>
//In your dialog class declaration (.H file )<Br>
private : CMyEdit m_wndEdit // Instance of your new edit control .<Br>
</Br>
//In you dialog class implementation (.CPP file )<Br>
BOOL CSampleDialog : : OnInitDialog ( )<Br>
{<Br>
…<Br>
</Br>
//Subclass the edit lontrod .<Br>
m_wndEdit .SubclassDlgItem (IDC_EDIT,this)<Br>
</Br>
…<Br>
}<Br>
</Br>
使用ClassWizard处理WM_CHAR消息,计算nChar参量并决定所执行的操作,用户可以确定是否修改、传送字符。下例说明了如何显示字母字符,如果字符是字母字符,则调用CWnd OnChar,否则不调用OnChar.<Br>
//Only display alphabetic dharacters .<Br>
void CMyEdit : : OnChar (UINT nChar , UINT nRepCnt , UITN nFlags )<Br>
{<Br>
//Determine if nChar is an alphabetic character.<Br>
if (: : IsCharAlpha ( ( TCHAR) nChar ) )<Br>
CEdit : : OnChar (nChar, nRepCnt , nFlags )<Br>
}<Br>
</Br>
如果要修改字符,则不能仅仅简单地用修改过的nChar调用CEdit: : OnChar,然后CEdit: : OnChar调用CWnd: : Default获取原来的wParam 和lParam 的值,这样是不行的。要修改一个字符,需要首先修改nChar,然后用修改过的nChar调用CWnd: : DefWindowProc。下例说明了如何将字符转变为大写:<Br>
//Make all characters uppercase<Br>
void CMyEdit : : OnChar (UINT nChar , UINT nRepCnt , UINT nFlags )<Br>
{<Br>
//Make sure character is uppercase .<Br>
if (: : IsCharAlpha ( .( TCHAR) nChar)<Br>
nChar=: : CharUpper(nChar )<Br>
</Br>
//Bypass default OnChar processing and directly call<Br>
//default window proc.<Br>
DefWindProc (WM_CHAR, nChar , MAKELPARAM (nRepCnt, nFlags ))<Br>
}<Br>
</Br>
</p></td></tr>
</table><p align="center"><img src="../../../logo.gif" align="center"><center><table><tr><td><a href="http://www.ourcode.net" target=_top>www.OurCode.net</a><Br>版权所有: 2002-2008</a></td></tr></table></center></p>
</body><SCRIPT LANGUAGE='JavaScript' SRC='../../../navigate_bar.js'></SCRIPT><SCRIPT LANGUAGE='JavaScript'>write_tail();</SCRIPT></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -