2009-07-18 114 views
1

我正在試圖製作一個彈出式消息框,上面寫着「Hello World」。 我開始了與文件>新建項目>的Visual C++> CLR> Windows窗體應用程序 於是我拖着從工具箱到窗體上按鈕,雙點擊它 進入如何顯示Win32 MessageBox?

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

然後我編... 但我得到了一個錯誤信息說

錯誤C2440:「」:不能從轉換「爲const char [12]」到「系統:視窗:形式:MessageBox的」

回答

9

您需要:

MessageBox::Show("Hello World"); 

+0

耶!!!有用!!!謝謝你richie! – user133466 2009-07-18 20:58:30

+9

然後接受他的回答! – 2009-07-18 21:26:02

5

(根據在Visual Studio 2005的說明測試)我不知道你的最終目標是什麼,但主題行中提到,「在C Windows應用程序」 - 你已經創建了一個C++/CLI應用程序,這不是一回事。

C++/CLI是微軟試圖創建一個更貼近.NET運行時的C++方言。

如果你想建立一個C程序,從Visual C++ - > Win 32 Project開始。

在生成的代碼,在_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); 

// ... 
} 

應該讓你開始那。