如何显示Win32 MessageBox?

时间:2009-07-18 20:52:48

标签: visual-studio winapi visual-c++

我正在尝试制作一个弹出消息框,上面写着“Hello World”。 我从File> New Project> Visual C ++> CLR> Windows Form Application开始 然后我将一个按钮从工具箱拖到窗体上,双击它 进入

private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e)
{
MessageBox("Hello World");
}

然后我编译了...... 但我收到一条错误消息

错误C2440:'':无法从'const char [12]'转换为'System :: Windows :: Forms :: MessageBox'

2 个答案:

答案 0 :(得分:9)

你需要:

MessageBox::Show("Hello World");

(根据Visual Studio 2005中的说明进行测试。)

答案 1 :(得分:5)

我不确定你的最终目标是什么,但主题提到了“C语言中的Windows应用程序” - 你已经创建了一个C ++ / CLI应用程序,这实际上不是一回事。

C ++ / CLI是Microsoft尝试在.NET运行时附近创建C ++方言。

如果要构建C程序,请从Visual C ++开始 - >赢得32项目。

在生成的代码中,在_tWinMain函数中,添加对本机MessageBox函数的调用:

int APIENTRY _tWinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPTSTR    lpCmdLine,
                     int       nCmdShow)
{
    UNREFERENCED_PARAMETER(hPrevInstance);
    UNREFERENCED_PARAMETER(lpCmdLine);

    MessageBox(NULL, _T("Hello world!"), _T("My program"), MB_OK);

// ...
}

这应该让你开始。