我为用户名创建了一个编辑控件,该控件仅允许输入字母字符。当用户尝试输入任何特殊字符或数字时,会弹出一个消息框,并显示一条消息,指出不允许使用这些特殊字符或数字。
我使用AfxMessageBox()
来显示该消息,但是它看起来不太好,显示该消息时,用户必须手动按OK。有什么方法可以自动显示和隐藏消息?
答案 0 :(得分:2)
它的行为应与编辑时出现的消息相同 控件以
ES_NUMBER
样式创建,并且用户输入非数字 字符。
在这种情况下,默认的窗口过程显示balloon tooltip。
可以这样实现:
EN_UPDATE
通知,以检测用户是否在显示文本之前 在编辑控件中输入了无效字符。这样可以处理单个按键以及复制/粘贴操作的情况。CEdit
类的ShowBalloonTip()
成员函数(向其发送EM_SHOWBALLOONTIP
消息)。无需显式创建工具提示控件,因为它由编辑控件管理。 在第3步中,您还可能必须保存/恢复当前选择(我不确定是否在选择更改之前或之后发送EN_UPDATE
)。
调用ShowBalloonTip()
的示例:
m_edit.ShowBalloonTip( L"Some Title", L"Some Text", TTI_ERROR );