-
Vs8.0 2005
Hi,
I just got my VS 2005 in the mail today, and it is very nice. But a lot of bugs.
I tried to compile this, which works fine in 6.0:
Code:
#include <windows.h>
const char szTitle[] = "Hello";
const char szClass[] = "HelloApp";
LRESULT CALLBACK WndProc (HWND hwnd, UINT msg, WPARAM wParam,
LPARAM lParam);
INT WINAPI WinMain (HINSTANCE hInst, HINSTANCE hPrevInst,
LPSTR lpCmdLine, int nShowCmd)
{
HWND hwnd;
MSG msg ;
WNDCLASSEX Wnd;
Wnd.cbClsExtra = 0;
Wnd.cbSize = sizeof(WNDCLASSEX);
Wnd.cbWndExtra = 0;
Wnd.hbrBackground = (HBRUSH)GetStockObject(BLACK_BRUSH);
Wnd.hCursor = LoadCursor (NULL, IDC_ARROW);
Wnd.hIcon = LoadIcon (NULL, IDI_APPLICATION);
Wnd.hIconSm = LoadIcon (NULL, IDI_APPLICATION);
Wnd.hInstance = hInst;
Wnd.lpfnWndProc = WndProc;
Wnd.lpszClassName = (LPCWSTR)szClass;
Wnd.lpszMenuName =NULL;
Wnd.style = CS_HREDRAW | CS_VREDRAW;
RegisterClassEx(&Wnd);
hwnd = CreateWindow (szClass, szTitle,
WS_BORDER | WS_SYSMENU,
0, 0, 200,500,NULL,NULL,hInst,NULL);
if (!hwnd) return 0;
ShowWindow(hwnd, SW_SHOWMINIMIZED);
UpdateWindow(hwnd);
while ( GetMessage(&msg, NULL, 0 , 0 ) )
{
TranslateMessage(&msg);
DispatchMessage (&msg);
}
return msg.wParam;
}
LRESULT CALLBACK WndProc (HWND hwnd, UINT msg, WPARAM wParam,
LPARAM lParam )
{
switch (msg)
{
case WM_QUIT:
PostQuitMessage(0);
return 0;
case WM_DESTROY:
PostQuitMessage(0);
return 0;
default:
return DefWindowProc(hwnd,msg,wParam,lParam);
}
return 0;
}
Now it says it needs to convert char to LPCWSTR for sz_Class and sz_Title...
And when I do that it compiles, but the title of the window look like some wierd symbol....
Can someone explain to me how to solve this problem?
-
Re: Vs8.0 2005
You're compiling as UNICODE, but your code is not written for UNICODE compatibility.
-
Re: Vs8.0 2005
-
Re: Vs8.0 2005
I'm not sure. Search the project options for stuff containing "Unicode" and remove it.