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

参照

参照

CPropertySheet クラス

階層図

その他の技術情報

CPropertySheet のメンバ