wolaicici 发表于 2013-11-3 17:29:28

新手求助,WINDOWS编程ICONDEMO程序问题

# include <windows.h>
# include <resource.h>

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

int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
                                        PSTR szCmdLine, int iCmdShow)
{
        TCHAR      szAppName[] = TEXT ("IconDemo");
        HWND       hwnd;
        MSG      msg;
        WNDCLASS   wndclass;

    wndclass.cbClsExtra    = 0;
        wndclass.cbWndExtra    = 0;
        wndclass.hbrBackground = (HBRUSH) GetStockObject (WHITE_BRUSH);
        wndclass.hCursor       = LoadCursor (NULL, IDC_ARROW);
        wndclass.hIcon         = LoadIcon (NULL, IDI_ERROR);
        wndclass.hInstance   = hInstance;
        wndclass.lpfnWndProc   = WndProc;
        wndclass.lpszClassName = szAppName;
        wndclass.lpszMenuName= NULL;
        wndclass.style         = CS_HREDRAW | CS_VREDRAW;

        if (!RegisterClass (&wndclass))
        {
                MessageBox (NULL, TEXT ("This program requires Windows NT!"),
                                szAppName, MB_ICONERROR);
                return 0;
        }

        hwnd = CreateWindow (szAppName,
                                 TEXT ("Icon Demo"),
                                               WS_OVERLAPPEDWINDOW,
                                               CW_USEDEFAULT,
                                               CW_USEDEFAULT,
                                               CW_USEDEFAULT,
                                               CW_USEDEFAULT,
                                               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)
{
        static HICON hIcon;
        static int   cxIcon, cyIcon, cxClient, cyClient;
        HDC          hdc;
        HINSTANCE    hInstance;
        PAINTSTRUCTps;
        int          x, y;

        switch (message)
        {
        case WM_CREATE:
                hInstance = ((LPCREATESTRUCT) lParam) ->hInstance;
                hIcon   = LoadIcon (hInstance, MAKEINTRESOURCE (IDI_ICON));
                cxIcon    = GetSystemMetrics (SM_CXICON);
                cyIcon    = GetSystemMetrics (SM_CYICON);
                return 0;

        case WM_SIZE:
                cxClient = LOWORD (lParam);
                cyClient = HIWORD (lParam);
                return 0;

        case WM_PAINT:
                hdc = BeginPaint (hwnd, &ps);

                for (y = 0; y < cyClient; y += cyIcon)
                        for (x = 0; x < cxClientl; x += cxIcon)
                                DrawIcon (hdc, x, y, hIcon);

                        EndPaint (hwnd, &ps);
                        return 0;

        case WM_DESTROY:
                PostQuitMessage (0);
                return 0;
        }
        return DefWindowProc (hwnd, message, wParam, lParam);
}
--------------------Configuration: ICONDEMO - Win32 Debug--------------------
Compiling...
ICONDEMO.CPP
d:\program files\microsoft visual studio\myprojects\icondemo\icondemo.cpp(2) : fatal error C1083: Cannot open include file: 'resource.h': No such file or directory
执行 cl.exe 时出错.

ICONDEMO.OBJ - 1 error(s), 0 warning(s)

大家好,这是新手自己从书上抄的代码,现在出现这个错误,不知道该如何着手了。请高手指点一二,谢谢。

254897518 发表于 2013-11-3 19:39:06

:cry同勉,,我也在学这个,水平基本跟你差不多,暂时也只能照着书写,,,刚也出错了,把代码贴上来,也在求助呢,,,你有什么好的视频没呀?推荐 下,,,
页: [1]
查看完整版本: 新手求助,WINDOWS编程ICONDEMO程序问题