📄 index157.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="../di2001.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>
有谁能给我一个有效的方法:当一个控件失去焦点时,怎样管理才能使对话框的焦点进入到正确的控件.<Br>
</Br>
我有一个可运行的程序来实现,不一定很全面,但能工作.<Br>
</Br>
const int WM_VALIDATE_PARAMS WM_APP + 101;<Br>
</Br>
void CMyDlg::OnKillfocusName()<Br>
{<Br>
PostMessage(WM_VALIDATE_PARAMS, ED_NAME, 0L);<Br>
}<Br>
</Br>
void CMyDlg::OnKillfocusAddress()<Br>
{<Br>
PostMessage(WM_VALIDATE_PARAMS, ED_ADDRESS, 0L);<Br>
}<Br>
</Br>
bool CMyDlg::OnValidateParams(WPARAM rcId, LPARAM)<Br>
{<Br>
switch( rcId )<Br>
{<Br>
case ED_NAME:<Br>
if( !validateName() )<Br>
m_edName.SetFocus();<Br>
break;<Br>
</Br>
case ED_ADDRESS:<Br>
if( !validateAddress() )<Br>
m_edAddress.SetFocus();<Br>
break;<Br>
</Br>
default:<Br>
break;<Br>
}<Br>
</Br>
return true;<Br>
}<Br>
上面的代码可以在用户使用TAB键或鼠标操纵时,使用焦点跳至下一个控制.当你想DISABLE一个控件或重设焦点时,会有些问题,特别是在Killfocus事件中。<Br>
</Br>
</Br>
</p></td></tr>
</table>
</body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -