Mein Erstes Fenster geht nicht
-
sobald ich es starte stürtz mir das programm ab, könnte jemand bitte das programm korrigieren ?
#define STRICT #include <windows.h> LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); const char szAppName[] = "Ein eigenes Fenster"; int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow){ HWND hWnd; MSG msg; WNDCLASS wc; wc.style = CS_HREDRAW | CS_VREDRAW; wc.lpfnWndProc = WndProc; wc.cbClsExtra = 0; wc.cbWndExtra = 0; wc.hInstance = hInstance; wc.hCursor = LoadCursor(NULL,IDC_ARROW); wc.hIcon = LoadIcon(NULL,IDI_APPLICATION); wc.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH); wc.lpszClassName = szAppName; wc.lpszMenuName = NULL; RegisterClass(&wc); hWnd = CreateWindow(szAppName, "Titelleiste", WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, /* X-Position auf dem Monitor */ CW_USEDEFAULT, /* Y-Position auf dem Monitor */ CW_USEDEFAULT, /* Fensterbreite */ CW_USEDEFAULT, /* Fensterhoehe */ NULL, NULL, hInstance, NULL); ShowWindow(hWnd, iCmdShow); UpdateWindow(hWnd); while (GetMessage(&msg, NULL, 0, 0)) { TranslateMessage(&msg); DispatchMessage(&msg); } return msg.wParam; } LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { switch (message) { case WM_DESTROY: { PostQuitMessage(0); return 0; } return DefWindowProc(hWnd, message, wParam, lParam); } }
-
Vertausch mal die drittletzte mit der zweitletzten Zeile...

-
Ja ok es geht unter dev vpp aber warum geht es bitte nicht mit visual studio ?
kann bitte jemand für dumme erklären ?Fehlermeldung:
error C2440: '=': 'const char [20]' kann nicht in 'LPCWSTR' konvertiert werden
error C2664: 'CreateWindowExW': Konvertierung des Parameters 2 von 'const char [20]' in 'LPCWSTR' nicht möglich
C4244: 'return': Konvertierung von 'WPARAM' in 'int', möglicher Datenverlust
-
Lass mal die allererste Zeile wech.
-
Falls du Visual C++ 2005 (Express?) benutzt, ist standardmässig Unicode eingeschaltet. Entweder du machst den Source unicode-fähig oder du schaltest es in den Einstellungen einfach aus

-
Habe das gleiche problem...
Was ist unicode?
Und was muss ich alles deaktivieren damit es funktioniert?
Ich will nicht mit den einstellungen rumspielen, nachher geht garnixmehr
lol
Danke im voraus
-
unicode: http://de.wikipedia.org/wiki/Unicode
wenn du ein projekt hast dann mach doch oben in der leiste project auf und dann eigenschaften
dort findest du ein untermenü "allgemein" dort kannst du den zeichensatz auswählen
-
Achso! Ich hab bei Extras->Optionen gesucht...
1000 Dank!
Kann man das auch so festlegen das man das nicht für jedes program neu einstellen muss?
-
ccl_destroyer schrieb:
Kann man das auch so festlegen das man das nicht für jedes program neu einstellen muss?
IMHO nein.
-
Oh mann...
Wie lang hat mich das gefuchst!!!
Vielen Dank an dieser Stelle!
hat jemand ne Ahnung wie man Unicode gerecht programmiert?
-
wissen eigentlich alle hier
char = multibyte
wchar_t = unicode
TCHAR = beides"abba" = multibyte
L"abba" = unicode
_T("abba") = beides
TEXT("abba") = beidesmain = multibyte
wmain = unicode
_tmain = beidesstrcpy = multibyte
wcscpy = unicode
_tcscpy = beidesLPSTR = multibyte
LPWSTR = unicode
LPTSTR = beidesdas kann man immer so weiter fuehren
fuer string hat sich diese bewaehrt
typedef std::basic_string<TCHAR> tstring;beste quelle:
MSDN{o;
ich selber progge immer so, das ich stets zwischen multibyte und unicode umschalten kann ohne was umcoden zu muessen