CPropertySheet::PressButton
更新 : 2007 年 11 月
プロパティ シートの特定のボタンのクリックをシミュレートします。
void PressButton(
int nButton
);
パラメータ
nButton
nButton : クリックされたボタンを識別します。このパラメータは、次のいずれかの値になります。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