次の方法で共有


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

参照

関連項目

CPropertySheet クラス

階層図