Тема: WinApi
Пробую написати форму в С++ використовуючи WinApi. Алгоритм не працює не можу виправити ошибки. Допоможіть, якщо є можливість. Алгоритм програми:
#include <windows.h>
#define width 640
#define height 480
LRESULT CALLBACK WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam,LPARAM lParam);
int CALLBACK WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
HWND hwnd;
MSG uMsg;
WNDCLASS windowClass;
memset(&windowClass,0,sizeof(WNDCLASSEXW));
windowClass.cbsize=sizeof(WNDCLASSEXW);
windowClass.hbrBackground=(HBRUSH)GetStockObject(GRAY_BRUSH);//Задаєм фоновий колір форми
windowClass.hCursor=LoadCursor(NULL,IDC_ARROW);
windowClass.hIcon=LoadIcon(Null,IDC_HAND);
windowClass.hInstance=hInstance;
windowClass.lpfnWndProc=WindowProc;
windowClass.lpszClassName="Simple Windows";
RegisterClassEx(&windowClass);
hwnd=CreateWindow(windowClass.lpszClassName, "My first Name", WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME | WS_MINIMIZEBOX | WS_MAXIMIZEBOX,
(GetSystemMetrics(SM_CXSCREEN)-width)/2, (GetSystemMetrics(SM_CYSCREEN)-height)/2, width, height, NULL, NULL, NULL, NULL);
ShowWindow(hwnd, nCmdShow);
while(GetMessage(&uMsg, hwnd, NULL, NULL))
{
TranslateMessage(&uMsg);
DispatchMessage(&uMsg);
}
return uMsg, wParam;
}
LRESULT CALLBACK WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam,LPARAM lParam)
{
Switch(uMsg)
{
case WM_CLOSE:
ExitProcess(0);
break;
default:
return DefWindowProc(hwnd, uMsg, wParam, lParam);
}
}
Працюю В Visual Studio 8. Виводить наступні ошибки:
1.error C2039: 'cbsize' : is not a member of 'tagWNDCLASSA'
2.error C2065: 'Null' : undeclared identifier
3.error C2664: 'RegisterClassExA' : cannot convert parameter 1 from 'WNDCLASS *' to 'const WNDCLASSEXA
4.error C2065: 'wParam' : undeclared identifier
5.error C3861: 'Switch': identifier not found
6.error C2046: illegal case
7.error C2043: illegal break
8.error C2047: illegal default