visual studio i funkcja MessageBox(), oraz c++ builder

0

Witam. Niedawno dostałem Visual studio 2005 beta version(legalna wersja) i (ponieważ dopiero zaczynam) pojawił się problem. Chciałem napisać bardzo prosty program złożony z 2 przycisków: jeden miał zamykać program:
OnOK(); - to działa
a drugi miał wyświatlać komunikat: (to nie działa)

MessageBox("Witaj","Tytuł");
wyskakuje mi taki error:
Error 1 error C2664: 'CWnd::MessageBoxW' : cannot convert parameter 1 from 'const char [6]' to 'LPCTSTR' d:=zasoby przema=\my projects\q1\q1\q1dlg.cpp 167

MessageBox("Witaj", "Tytuł", MB_OK );
tutaj taki sam

MessageBox(NULL, "Witaj", "Tytuł", MB_OK );
a tutaj taki błąd:
Error 1 error C2660: 'CWnd::MessageBoxW' : function does not take 4 arguments d:=zasoby przema=\my projects\q1\q1\q1dlg.cpp 167

Powiem tylko, że wszystkie przykłady pochodzą z kursów i według autorów powinny działać. Tylko dlaczego mi nie działają?

Przy okazji: czy Borland C++ Bulider w wersji Personal jest darmowy, a jeżeli jest to skąd go pobrać?

ps.:Co polecacie lub w czym piszecie swoje programy: W visual c++ czy w borland c++ builder ?

0

do MessageBoxW przekazujesz stringi w postaci Unicode wiec przekazuj je tak: _T("string") lub S"string"

0
Opona zapasowa napisał(a)

Przy okazji: czy Borland C++ Bulider w wersji Personal jest darmowy, a jeżeli jest to skąd go pobrać?

ps.:Co polecacie lub w czym piszecie swoje programy: W visual c++ czy w borland c++ builder ?

ftp://ftp.univ.szczecin.pl/pub/Programow/BorlandCPP.builder/bcppb6personal.exe

ogólnie mam i bcb i vs.net 2003 (msdnaa).. ale jakoś ostatnio wszystko piszę w devcpp (http://www.bloodshed.net)

0

Spróbuj AfxMessageBox("tralala");

0

Oj, braki mamy.. duze braki....

Poczytaj o unicode i zainteresuj sie funkcjami mbstowcs i MultiByteToWideChar

0

Zmień w ustawieniach projektu na:
General
|--- Character set: Use Multi-Byte Character Set;

0

zamiast zmieniac na MBCS racej uzywajcie widestringow.. inaczej jak powstawiacie sobie ąęćżń mozecie sie czasem zdziwic.. ogolnie MessageBoxW potrzebuje po prostu wchar_t* a nie char*:

MessageBox(0,L"Uwaga! System Windows wykrył, że Twoje IQ zaczęło spadać!", L"Otrzeżenie",MB_OK | MB_ICONWARNING);

ew. zamiast przedrostka wide - L - mozna uzyc makra _T("napis") albo _TEXT("napis").. ktos proponowal przedrostek S - niestety nie znam.. co to jest? short?:)

1 użytkowników online, w tym zalogowanych: 0, gości: 1