Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Системное программирование и WinAPI > Помогите исправить ошибку


Автор: HellanD 6.6.2006, 22:31
Код

LRESULT CALLBACK WndProc(HWND,UNIT,WPARAM,LPARAM );

int WINAPI WinMain(HINSTANCE hPervInstance,HINSTANCE hPredidushij,
                   PSTR szCmdLine, int iCmdShow)
{
HWND hwnd;
MSG msg;
WNDCLASSEX wndclass;
static char szAppName[]="Hello";
wndclass.cbSize=sizeof(wndclass);
wndclass.style=CS_HREDRAW | CS_VREDRAW;
wndclass.lpfnWndProc=WndProc;
wndclass.cbClsExtra=0;
wndclass.cbWndExtra=0;
wndclass.hInstance=hPervInstance;
wndclass.hIcon=LoadIcon(NULL,IDI_APPLICATION);
wndclass.hCursor=LoadCursor(NULL,IDI_APPLICATION);
wndclass.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);
wndclass.lpszMenuName=NULL;
wndclass.lpszClassName=szAppName;
wndclass.hIconSm=LoadIcon(NULL,IDI_APPLICATION);

RegisterClassEx(&wndclass);

hwnd=CreateWindow(szAppName,
                  "Hello program",
                  WS_OVERLAPPEDWINDOW,
                  CW_USEDEFAULT,//x pos
                  CW_USEDEFAULT,//y pos
                  CW_USEDEFAULT,//x len
                  CW_USEDEFAULT,//y len
                  NULL,NULL,
                  hPervInstance,
                  NULL
                  );
ShowWindow(hwnd,iCmdShow);
UpdateWindow(hwnd);
while (GetMessage(&msg,NULL,0,0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;
}

LRESULT CALLBACK WndProc(HWND hwnd,UNIT iMsg,WPARAM wParam,LPARAM lParam)
{
HDC hdc;
PAINTSTRUCT ps;
RECT rect;
switch(iMsg)
{

case WM_CREATE:
    PlaySound("hellowin.wav",NULL,SND_FILENAME | SND_ASYNC);
    return 0;
case WM_PAINT:
    hdc=BeginPaint(hwnd,&ps);
   GetClientRect(hwnd,&rect);
   DrawText(hdc,"Hello winda",-1,&rect,DT_SINGLE|DT_CENTER|DT_VCENTER);
   EndPaint(hwnd,&ps);
   return 0;
case WM_DESTROY:
PostQuitMessage (0);
return 0;
}
return DefWindowProc(hwnd,iMsg,wParam,lParam);
}


1 в первой строке пишет type name expected 
в строке wndclass.lpfnWndProc=WndProc; пишет undefined symbol WndProc
в строке обявления LRESULT CALLBACK WndProc(HWND hwnd,UNIT iMsg,WPARAM wParam,LPARAM lParam)
пишет type name expected 
 

Автор: Damarus 6.6.2006, 22:53
Прототип WindowProc:
Код

LRESULT CALLBACK WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
 

Автор: Pulse69 7.6.2006, 06:18
Извини моё недоверие, но я у тебя не вижу
Код

#include <WINDOWS.h>

Надеюсь, что дело не в этом smile  

Автор: Earnest 7.6.2006, 08:05
Цитата(Pulse69 @  7.6.2006,  07:18 Найти цитируемый пост)
Надеюсь, что дело не в этом 

Нет, конечно, Damarus уже написал: там UNIT вместо UINT.
Остальные ошибки - это следствие... 
 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)