Results 1 to 2 of 2

Thread: Aliens prevent this code from working (resource files)?

  1. #1

    Thread Starter
    Addicted Member kikelinus's Avatar
    Join Date
    Nov 2000
    Posts
    219

    Aliens prevent this code from working (resource files)?

    I tried to make a simple window that has menus and an icon using resource files. I compiles ok, and says that there are no errors, but the window class cannot be registered. I think I did something wrong while linking the menu and icon in the resource file to the program itself.

    Can someone please tell me where my mistake is?
    Thanks.
    (I am using Visual c++ 6.)
    Attached Files Attached Files

  2. #2
    Frenzied Member CyberCarsten's Avatar
    Join Date
    Sep 1999
    Location
    Aalborg Ø, Denmark
    Posts
    1,544
    Change you main.cpp file's content to this:

    PHP Code:
    #include <windows.h>
    #include "resource.h"

    LRESULT CALLBACK WndProc(HWNDUINTWPARAMLPARAM);

    int WINAPI WinMain(HINSTANCE hInstanceHINSTANCE hPrevInstance,
                       
    PSTR szCmdLineint iCmdShow)
    {
        static 
    TCHAR szAppName[]= TEXT("HelloWin");
        
    HWND        hwnd;
        
    MSG            msg;
        
    WNDCLASS    wndclass;

        
    wndclass.style =        CS_HREDRAW CS_VREDRAW;
        
    wndclass.lpfnWndProc WndProc;
        
    wndclass.cbClsExtra 0;
        
    wndclass.cbWndExtra 0;
        
    wndclass.hInstance hInstance;
        
    wndclass.hIcon LoadIcon(NULLIDI_APPLICATION);
        
    wndclass.hCursor LoadCursor(NULL,IDC_ARROW);
        
    wndclass.hbrBackground = (HBRUSHGetStockObject (WHITE_BRUSH);
        
    wndclass.lpszMenuName =  MAKEINTRESOURCE(IDR_MENU);

        
    wndclass.lpszClassName szAppName;

        if (!
    RegisterClass (&wndclass))
        {
            
    MessageBox(NULLTEXT("This program requires Windows NT!"), 
                        
    szAppNameMB_ICONERROR);
            return 
    0;
        }

    hwnd CreateWindow(szAppName,                        // window class name
                        
    TEXT("The Hello Program"),        // window caption
                        
    WS_OVERLAPPEDWINDOW,            // window style
                        
    CW_USEDEFAULT,                    // initial x position
                        
    CW_USEDEFAULT,                    // initial y position
                        
    CW_USEDEFAULT,                    // initial x size
                        
    CW_USEDEFAULT,                    // initial y size
                        
    NULL,                            // parent window handle
                        
    NULL,                            // window menu handle
                        
    hInstance,                        // program instance handle
                        
    NULL);                            // creation parameters

    ShowWindow(hwndiCmdShow) ;
    UpdateWindow(hwnd);

    while (
    GetMessage (&msgNULL,0,0))
    {
        
    TranslateMessage(&msg);
        
    DispatchMessage(&msg);
    }
        return 
    msg.wParam;
    }

    LRESULT CALLBACK WndProc(HWND hwndUINT messageWPARAM wParamLPARAM lParam)
    {
        
    HDC hdc;
        
    PAINTSTRUCT ps;
        
    RECT rect;

        switch(
    message)
        {
        case 
    WM_CREATE:
            return 
    0;

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

                    
            
    EndPaint(hwnd,&ps);
            return 
    0;

        case 
    WM_DESTROY:
            
    PostQuitMessage(0);
            return 
    0;
        }
        return 
    DefWindowProc(hwnd,message,wParam,lParam);

    razor
    Software Engineer Student, Aalborg University, Denmark
    http://www.cs.auc.dk

    My email at AUC: will get a new email soon
    My website: http://www.razorsoftware.net


    Windows XP Pro/ Gentoo Linux (Laptop)
    Windows XP Pro (Home PC)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  



Click Here to Expand Forum to Full Width