2017-10-06 114 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