2017-10-06 198 views
-1

我正在使用C++ Builder,我想使用MessageBox和clickables「OK」和「Help」。當用戶按下「幫助」時,應該打開一個新表單。所以這裏是我的問題:MessageBox和MB_HELP的問題

當使用MessageBox和帶有MB_HELP的命令時,將顯示按鈕「ok」和「Help」。但是當按下Help時,編譯器將不會執行任何操作,他只會執行某些操作,並在按Ok按鈕時返回1。

btw。我正在使用VCL-Formapplication。

感謝您的幫助:)

if (Application->MessageBox("Die maximale Temperatur von 30°Grad darf nicht 
überschritten werden", 
    "Warnung", MB_HELP | MB_ICONEXCLAMATION) == IDOK); 
     { 
      ///setting values/// 
     }   
else Form1->Show(); 
+0

請提供代碼。 – boriaz50

+0

問題內部。 – boriaz50

+0

_「但是當按下幫助時,編譯器將不會執行任何操作」_ - 編譯器在您已經運行程序時該做什麼?你期望發生什麼? – sehe

回答

0

我想我現在就買下。

如果您想檢查相同結果的多個條件,可以先將它分配給一個變量。消息框返回int,所以:

int choice = Application->MessageBox("Die maximale Temperatur von 30°Grad darf nicht überschritten werden", 
            "Warnung", MB_HELP | MB_ICONEXCLAMATION); 
if (choice == IDOK) { 
    /// setting values/// 
} 
else if (choice == IDHELP) { 
    else Form1->Show(); 
} 

當然你也可以使用一個switch聲明。如果您需要關於這些東西的信息,請參閱The Definitive C++ Book Guide and List

+0

感謝您的迴應:)分鐘前,我來到相同的解決方案,它的工作原理,謝謝 – kevin

+0

歡迎來到SO。請同時閱讀[this](https://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work) – sehe