Как показать Win32 MessageBox? - PullRequest
1 голос
/ 19 июля 2009

Я пытаюсь создать всплывающее окно с надписью «Hello World». Я начал с Файл> Новый проект> Visual C ++> CLR> Приложение Windows Form Затем я перетащил кнопку из панели инструментов на форму, дважды щелкнул ее введено

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

тогда я скомпилировал ... но я получил сообщение об ошибке

ошибка C2440: '': невозможно преобразовать из 'const char [12]' в 'System :: Windows :: Forms :: MessageBox'

Ответы [ 2 ]

9 голосов
/ 19 июля 2009

Вам нужно:

MessageBox::Show("Hello World");

(протестировано в соответствии с вашими инструкциями в Visual Studio 2005).

5 голосов
/ 19 июля 2009

Я не уверен, каковы ваши конечные цели, но в строке темы упоминалось «Приложение Windows в C» - вы создали приложение C ++ / CLI, что на самом деле не то же самое.

C ++ / CLI - это попытка Microsoft создать диалект C ++ ближе к среде выполнения .NET.

Если вы хотите собрать программу на 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);

// ...
}

Это должно помочь вам начать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...