DetailPage-MSS-KB

知識庫

文章編號: 122489 - 上次校閱: 2006年11月21日 - 版次: 3.1

 

結論

Windows] 對話方塊支援使用的預設按鈕 (按鈕),會自動啟動,當焦點不在指令按鈕上的同時按下 ENTER 鍵。每當預設按鈕 (按鈕) 會藉由按下 ENTER 鍵啟動時 MFC 類別程式庫自動將一個對話方塊,為呼叫 CDialog::OnOK() 虛擬函式。

這種行為是否符合方針提出 」 的 Windows 介面: 的應用程式設計指南 》"本手冊所隨附 Windows 3.1 版 SDK 的文件。它也提供了 Microsoft 請按。

其他相關資訊

雖然建議使用預設按鈕 (按鈕) 支援,您可能要停用或修改標準的實作,在某些情況下。做法 MFC 應用程式中依照下列步驟執行:

  1. 載入到應用程式 Studio 的 [] 對話方塊,將 [確定] 按鈕的識別項 IDOK 得其他例如 IDC_MYOK。而且,清除核取在預設按鈕] 屬性。
  2. 使用 ClassWizard 建立訊息,處理具名 OnClickedMyOK 這個按鈕的函式。BN_CLICKED 訊息接收到來自此按鈕時,就會執行這個函式。
  3. OnClickedMyOK 之程式碼,呼叫 OnOK 函式的基底類別版本。以下是範例:
       void CMyDialog::OnClickedMyOK()
       {
          CDialog::OnOK();
       }
    						
  4. 為您的對話方塊會覆寫 OnOK 並進行函式內部執行任何動作。以下是範例:
       void CMyDialog::OnOK()
       {
       }
    						
  5. 執行程式,並顯示對話方塊。一個控制項而非 [確定] 按鈕可讓焦點。按 RETURN 鍵。請注意 CDialog::OnOK() 從未執行過。
這項技巧可以有效地停用標準的預設按鈕 (按鈕) 支援,MFC 程式中。[確定] 按鈕將會繼續啟動由滑鼠或透過助憶鍵的按鍵時的行為和以前一樣,但 ENTER 鍵將不會觸發 OnOK 處理。

此相同技術可用來停用或修改預設 OnCancel 處理。逸出機碼會產生 CDialog::OnCancel 的呼叫,就像 Enter 鍵會產生 OnOK 函式呼叫。

這篇文章中的資訊適用於:
  • Microsoft Foundation Class Library 4.2 應用於:
    • Microsoft Visual C++ 1.0 Professional Edition
    • Microsoft Visual C++ 1.5 Professional Edition
    • Microsoft Visual C++ 1.0 Professional Edition
    • Microsoft Visual C++ 2.0 Professional Edition
    • Microsoft Visual C++ 4.0 Standard Edition
關鍵字: 
kbmt KB122489 KbMtzh
機器翻譯機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:122489  (http://support.microsoft.com/kb/122489/en-us/ )
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。
淘汰的知識庫文章依現狀不再更新的知識庫內容免責聲明
本文旨在說明 Microsoft 不再提供支援的產品。因此,本文係依「現狀」提供,不會再更新。
共用
其他支援選項
Microsoft Community 支援論壇
直接與我們連絡
尋找 Microsoft 認證合作夥伴
Microsoft 市集