CPropertySheet::PressButton
プロパティ シートの指定したボタンのクリックをシミュレートします。
void PressButton(
int nButton
);
パラメーター
nButton
nButton: クリックするボタンを指定します。このパラメーターの値は次の 1 つです:PSBTN_BACK は、[戻る]を選択します。
PSBTN_NEXT は、次のボタンを選択します。
PSBTN_FINISH は[完了]を選択します。
PSBTN_OK は、[OK]ボタンを選択します。
PSBTN_APPLYNOW は、ボタンに適用を選択します。
PSBTN_CANCEL [キャンセル]ボタンを選択します。
PSBTN_HELP は、[ヘルプ]を選択します。
解説
Windows SDK Pressbutton のメッセージに関する詳細については、PSM_PRESSBUTTON を参照してください。
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);
}
必要条件
ヘッダー : afxdlgs.h