[ WinAPI ] MessageBox
Ostatnio zmodyfikowano 2011-05-14 15:07
Mrowqa Temat założony przez niniejszego użytkownika |
[ WinAPI ] MessageBox » 2011-05-13 20:30:11 Witam! Mam mały problem, używając tej instrukcji MessageBox( NULL, "To jest wiadomość.", "Wiadomość", MB_ICONINFORMATION | MB_OKCANCEL ); wywala mi błąd, że nie może skonwertować const char* do LPCWSTR ( wcześniej nie miałem tego problemu ... ). Rzutowanie nic nie daje - wyskakują mi chińskie znaczki :P Jest to w funkcji WinMain, we zwykłej main normalnie działało ... Pozdrawiam, Mrowqa |
|
szyx_yankez |
» 2011-05-13 20:45:05 U Mnie pod MinGw g++ 4.5 wszystko poprawnie się kompiluje i działa.
Z jakiego kompilatora korzystasz?
|
|
Mrowqa Temat założony przez niniejszego użytkownika |
» 2011-05-13 20:46:16 |
|
malan |
» 2011-05-13 21:39:20 Tu chodzi o kodowanie. Domyślnie (zapewne) masz ustawione UNICODE (np. UTF-8), a UNICODE to wchar_t , czyli (w WinAPI) WCHAR . LPCWSTR to WCHAR * . Rozwiązań masz kilka: 1. Zmienić kodowanie na ANSII, 2. #ifdef UNICODE #undef UNICODE #endif #include <Windows.h> Aczkolwiek to rozwiązanie nie jest dobre... 3. MessageBox( NULL, L"To jest wiadomość.", L"Wiadomość", MB_ICONINFORMATION | MB_OKCANCEL ); i zamiast char *, char[] stosować WCHAR *, WCHAR[] (lub TCHAR- w zależności od kodowania TCHAR to char (CHAR w WinAPI) dla ANSII lub wchar_t (WCHAR w WinAPI) dla UNICODE. |
|
Mrowqa Temat założony przez niniejszego użytkownika |
» 2011-05-14 15:07:58 Dzięki @malan ;) Sprawdzę to z eLką .. ciekawe czy też wejdą arabskie znaki :P
Działa ;) |
|
« 1 » |