首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Visual C++ MessageBox

Visual C++ MessageBox
EN

Stack Overflow用户
提问于 2011-09-16 03:23:07
回答 2查看 10.6K关注 0票数 1

使用visual c++无法获得要编译的消息框。

这个可以用。MessageBox::Show("hello the world");

显然我不能硬编码我所有的消息,所以我想要这样的东西:

代码语言:javascript
运行
复制
string s = "hello the world";
MessageBox::Show(s); | also tried MessageBox::Show(NULL,s);

不起作用。还尝试了:

代码语言:javascript
运行
复制
char* test = (char*)s.c_str();
MessageBox::Show(test);

包括在我文件顶部

在谷歌搜索,在msdn上没有c++ messagebox的代码样本,我发现的大多数东西都不是visual c++的。

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-09-16 04:37:06

您正在使用C++/CLI语言中的托管代码。这需要对字符串使用System::String类型:

代码语言:javascript
运行
复制
String^ s = "hello the world";
MessageBox::Show(s); 

一定要确保你真的想写这样的代码。它不是标准的C++。如果你这样做了,那么一定要阅读C++/CLI书籍或教程来学习这门语言。

票数 4
EN

Stack Overflow用户

发布于 2011-09-16 03:28:15

我使用

代码语言:javascript
运行
复制
        } catch (Exception ^ex) {
            MessageBox::Show(ex->Message);
        }

也许你的字符串是错误的格式?尝试使用进行初始化

代码语言:javascript
运行
复制
_T"My String"

代码语言:javascript
运行
复制
L"My String"

以前也为我工作过。您的声明可能默认使用8位ASCII码或其他某种编码,这些编码被初始化的对象转换为某种其他类型,然后MessageBox::Show()无法对其进行解释(或转换

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7436296

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档