CPropertySheet::PressButton
模拟指定的按钮选择在属性表的。
void PressButton(
int nButton
);
参数
nButton
nButton:标识将按的按钮。此参数可以是下列值之一:PSBTN_BACK 选择"后退"按钮。
PSBTN_NEXT 选择下一个按钮。
PSBTN_FINISH 选择完成按钮。
PSBTN_OK 选择"确定"按钮。
PSBTN_APPLYNOW 选择适用现在按。
PSBTN_CANCEL 选择"取消"按钮。
PSBTN_HELP 选择帮助按钮。
备注
请参见 PSM_PRESSBUTTON 有关Windows SDK按钮消息的更多信息。
为 PressButton 的调用从属性页不会发送 PSN_APPLY 通知到框架中。若要发送此通知,请调用 CPropertyPage::OnOK。
示例
// Simulate the selection of OK and Cancel buttons when Alt+K and
// Alt+C are pressed. CMyPropertySheet is a CPropertySheet-derived
// class.
BOOL CMyPropertySheet::PreTranslateMessage(MSG* pMsg)
{
if (pMsg->message >= WM_KEYFIRST && pMsg->message <= WM_KEYLAST)
{
BOOL altkey = GetKeyState(VK_MENU) < 0;
if (altkey)
{
BOOL handled = TRUE;
switch(toupper((int)pMsg->wParam))
{
case 'C': // for Alt+C - Cancel button
PressButton(PSBTN_CANCEL); // or EndDialog(IDCANCEL);
break;
case 'K': // for Alt+K - OK button
PressButton(PSBTN_OK); // or EndDialog(IDOK);
break;
default:
handled = FALSE;
}
if (handled)
return TRUE;
}
}
return CPropertySheet::PreTranslateMessage(pMsg);
}
要求
Header: afxdlgs.h