Thread: Syntax Error in resource

  1. #1
    C++ Programmer
    Join Date
    Aug 2005
    Posts
    39

    Syntax Error in resource

    Well, reading this tutorial, I'm trying to create a dialog.

    The dialog code in resource
    Code:
    // About dialog
    IDD_ABOUT DIALOG DISCARDABLE 0, 0, 150, 100
    STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
    CAPTION "About"
    FONT 8, "MS Sans Serif"
    {
    	DEFPUSHBUTTON "&Ok", IDOK, 90, 75, 50, 14
    	CTEXT "Just a test program to practice Windows programming in C++\r\nMade by Lucas van Dijk.", IDC_STATIC, 7, 7, 134, 80
    }
    main.cpp
    Code:
    #include <windows.h>
    #include "resource.h"
    
    /*  Declare Windows procedure  */
    LRESULT CALLBACK WindowProcedure (HWND, UINT, WPARAM, LPARAM);
    BOOL CALLBACK AboutDlgProc(HWND, UINT, WPARAM, LPARAM);
    
    /*  Make the class name into a global variable  */
    char szClassName[ ] = "WindowsApp";
    
    int WINAPI WinMain (HINSTANCE hThisInstance,
                        HINSTANCE hPrevInstance,
                        LPSTR lpszArgument,
                        int nFunsterStil)
    
    {
        HWND hwnd;               /* This is the handle for our window */
        MSG messages;            /* Here messages to the application are saved */
        WNDCLASSEX wincl;        /* Data structure for the windowclass */
    
        /* The Window structure */
        wincl.hInstance = hThisInstance;
        wincl.lpszClassName = szClassName;
        wincl.lpfnWndProc = WindowProcedure;      /* This function is called by windows */
        wincl.style = CS_DBLCLKS;                 /* Catch double-clicks */
        wincl.cbSize = sizeof (WNDCLASSEX);
    
        /* Use default icon and mouse-pointer */
        wincl.hIcon = LoadIcon (hThisInstance, MAKEINTRESOURCE(IDI_APP_ICON));
        wincl.hIconSm = LoadIcon (hThisInstance, MAKEINTRESOURCE(IDI_APP_ICON));
        wincl.hCursor = LoadCursor (NULL, IDC_ARROW);
        wincl.lpszMenuName = MAKEINTRESOURCE(IDR_MYMENU);                 /* No menu */
        wincl.cbClsExtra = 0;                      /* No extra bytes after the window class */
        wincl.cbWndExtra = 0;                      /* structure or the window instance */
        /* Use Windows's default color as the background of the window */
        wincl.hbrBackground = (HBRUSH) COLOR_BACKGROUND + 4;
    
        /* Register the window class, and if it fails quit the program */
        if (!RegisterClassEx (&wincl))
        {
            MessageBox(NULL, "Could not register window", "Error!", MB_ICONEXCLAMATION | MB_OK);
            return 0;
        }
    
        /* The class is registered, let's create the program*/
        hwnd = CreateWindowEx (
               0,                   /* Extended possibilites for variation */
               szClassName,         /* Classname */
               "Test schermpje",       /* Title Text */
               WS_OVERLAPPEDWINDOW, /* default window */
               CW_USEDEFAULT,       /* Windows decides the position */
               CW_USEDEFAULT,       /* where the window ends up on the screen */
               544,                 /* The programs width */
               375,                 /* and height in pixels */
               HWND_DESKTOP,        /* The window is a child-window to desktop */
               NULL,                /* No menu */
               hThisInstance,       /* Program Instance handler */
               NULL                 /* No Window Creation data */
               );
               
    	if(hwnd == NULL)
    	{
    		MessageBox(NULL, "Could not create window", "Error!", MB_ICONEXCLAMATION | MB_OK);
    		return 0;
    	}
    	
        /* Make the window visible on the screen */
        ShowWindow (hwnd, nFunsterStil);
    
        /* Run the message loop. It will run until GetMessage() returns 0 */
        while (GetMessage (&messages, NULL, 0, 0) > 0)
        {
            /* Translate virtual-key messages into character messages */
            TranslateMessage(&messages);
            /* Send message to WindowProcedure */
            DispatchMessage(&messages);
        }
    
        /* The program return-value is 0 - The value that PostQuitMessage() gave */
        return messages.wParam;
    }
    
    
    /*  This function is called by the Windows function DispatchMessage()  */
    
    LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
    {
        switch (message)                  /* handle the messages */
        {   
    		case WM_CLOSE:
    			DestroyWindow(hwnd);
    		break;
    		case WM_DESTROY:
                PostQuitMessage (0);       /* send a WM_QUIT to the message queue */
            break;
            case WM_COMMAND:
    			switch(LOWORD(wParam))
    			{
    				case ID_FILE_EXIT:
    					PostMessage(hwnd, WM_CLOSE, 0, 0);
    				break;
    				case ID_HELP_ABOUT:
    				{
    					int ret = DialogBox(GetModuleHandle(NULL), MAKEINTRESOURCE(IDD_ABOUT), hwnd, AboutDlgProc);
    					if(ret == IDOK)
    					{
    						MessageBox(hwnd, "User clicked OK", "Notice", MB_OK | MB_ICONINFORMATION);
    					}
    					else if(ret == -1)
    					{
    						MessageBox(hwnd, "We got an error!", "Notice", MB_OK | MB_ICONERROR);
    					}
    				}	
    				break;
    			}
    			break;			
            default:                      /* for messages that we don't deal with */
                return DefWindowProc (hwnd, message, wParam, lParam);
        }
    
        return 0;
    }
    
    BOOL CALLBACK AboutDlgProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lParam)
    {
    	switch(Message)
    	{
    		case WM_INITDIALOG:
    			return TRUE;
    		case WM_COMMAND:
    			switch(LOWORD(wParam))
    			{
    				case IDOK:
    					EndDialog(hwnd, IDOK);
    				break;
    			}
    		break;
    		default:
    			return FALSE;
    	}
    	
    	return TRUE;
    }
    But then, when I try to compile it with Dev-C++ (latest version) I get the following error:

    26 D:\Dev-Cpp\projects\Test\resource.rc [Resource error] syntax error
    Line 26:
    Code:
    	CTEXT "Just a test program to practice Windows programming in C++\r\nMade by Lucas van Dijk.", IDC_STATIC, 7, 7, 134, 80
    But I don't see any mistakes?

    What's the problem?

  2. #2
    erstwhile
    Join Date
    Jan 2002
    Posts
    2,227
    In your resource script you forgot:
    Code:
    #include <afxres.h>
    #include "resource.h"
    CProgramming FAQ
    Caution: this person may be a carrier of the misinformation virus.

  3. #3
    C++ Programmer
    Join Date
    Aug 2005
    Posts
    39
    Ah Great!

    It works now

    thanks!

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. more then 100errors in header
    By hallo007 in forum Windows Programming
    Replies: 20
    Last Post: 05-13-2007, 08:26 AM
  2. We Got _DEBUG Errors
    By Tonto in forum Windows Programming
    Replies: 5
    Last Post: 12-22-2006, 05:45 PM
  3. Using VC Toolkit 2003
    By Noobwaker in forum Windows Programming
    Replies: 8
    Last Post: 03-13-2006, 07:33 AM
  4. Connecting to a mysql server and querying problem
    By Diod in forum C++ Programming
    Replies: 8
    Last Post: 02-13-2006, 10:33 AM
  5. Dikumud
    By maxorator in forum C++ Programming
    Replies: 1
    Last Post: 10-01-2005, 06:39 AM