一个对话框程序,一个button正处于焦点。如何我一按回车就执行这个按钮的功能?相当于鼠标点击它,该怎么做?默认情况下,一按回车就要关闭对话框,但现在我改写了PreTranslateMessage()函数,使之不退出,但应如何进一步写,以便执行处于焦点状态的按钮程序呢?
if(pMsg->message == WM_KEYDOWN)
{
if(pMsg->wParam==VK_RETURN)
//???
}
if(pMsg->message == WM_KEYDOWN)
{
if(pMsg->wParam==VK_RETURN)
//???
}
如果没有获得焦点的按钮这个时候才会使用default button呢。
默认,回车按下就执行 CDialog::OnOK(),ESC按下就执行 CDialog::OnCancel(),
你可以自己添加
CMyDialog::OnOK()
{
CDialog::OnOK(); 然后把这行注释掉 即 //CDialog::OnOK();
}
这样再按回车就不会关闭对话框了,也会执行响应的按纽程序!
void CXPButton::PreSubclassWindow()
{
// TODO: Add your specialized code here and/or call the base class
CButton::PreSubclassWindow();
ModifyStyle(0, BS_OWNERDRAW);
}