2009-07-18 3 views
1

Я пытаюсь создать всплывающее окно с надписью «Hello World». Я начал с File> New Project> Visual C++> CLR> Windows Form Application Затем я перетащил кнопку на панели инструментов на форму, дважды щелкнул его вошелКак показать Win32 MessageBox?

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

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

ошибка C2440: '': не может конвертировать из 'сопзЬ гольца [12]' в 'System :: Windows, :: Forms :: MessageBox'

ответ

9

Вам нужно:

MessageBox::Show("Hello World"); 

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

+0

Yay !!! оно работает!!! спасибо, богато !! – user133466

+9

, тогда примите его ответ! –

5

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

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

Если вы хотите создать программу на C, начните с проекта Visual C++ -> Win 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); 

// ... 
} 

Это должно вам начать работу.

+0

Я пытаюсь изучить учебник по программированию API Win32 от Forger , но я даже не знаю, с чего начать ... У меня возникли проблемы с завершением их первого присваивания = ( – user133466

+1

ОК, тогда вам не следует использовать проект CLR типы, а скорее исходные проекты Win32. Попробуйте запустить здесь: http://winprog.org/tutorial/start.html и начать с Visual C++ -> Win32 -> Win32 Project. Вероятно, вам лучше всего начать с Пустой проект (флажок на странице 2 мастера проекта.) –

Смежные вопросы