Aug 31st, 2002, 05:06 PM
#1
Thread Starter
Addicted Member
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
Sep 1st, 2002, 02:11 AM
#2
Frenzied Member
Change you main.cpp file's content to this:
PHP Code:
#include <windows.h>
#include "resource.h"
LRESULT CALLBACK WndProc ( HWND , UINT , WPARAM , LPARAM );
int WINAPI WinMain ( HINSTANCE hInstance , HINSTANCE hPrevInstance ,
PSTR szCmdLine , int 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 ( NULL , IDI_APPLICATION );
wndclass . hCursor = LoadCursor ( NULL , IDC_ARROW );
wndclass . hbrBackground = ( HBRUSH ) GetStockObject ( WHITE_BRUSH );
wndclass . lpszMenuName = MAKEINTRESOURCE ( IDR_MENU );
wndclass . lpszClassName = szAppName ;
if (! RegisterClass (& wndclass ))
{
MessageBox ( NULL , TEXT ( "This program requires Windows NT!" ),
szAppName , MB_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 ( 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 )
{
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 );
}
Posting Permissions
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
Forum Rules
Click Here to Expand Forum to Full Width