I'm using this code to show a menu, but it doesn't appear...
Code:// INCLUDES //////////////////// #define WIN32_LEAN_AND_MEAN #include <windows.h> #include <windowsx.h> #include <stdio.h> #include <math.h> #include "mymenu.h" // DEFINES //////////////////// // defines for windows #define WINDOW_CLASS_NAME "WINCLASS1" // <------ WINDOW not WINDOWS // GLOBALS /////////////////// HWND main_window_handle = NULL; // save the window handle // <------ window not windows // FUNCTIONS //////////////// LRESULT CALLBACK WindowProc(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam) { // this is the main message handler of the system PAINTSTRUCT ps; // used in WM_AINT HDC hdc; // find out what the message is switch(msg) { case WM_CREATE: { // do initialization stuff here return(0); } break; case WM_PAINT: { // simply validate the window hdc = BeginPaint(hwnd,&ps); EndPaint(hwnd,&ps); // <------ needed a pointer return(0); } break; case WM_DESTROY: // <------ spelling mistake { // kill the application PostQuitMessage(0); return(0); } break; default: break; } // end switch // process any messages that you didn't take care of return (DefWindowProc(hwnd,msg,wparam,lparam)); } // end WinProc // WINMAIN /////////////////// int WINAPI WinMain(HINSTANCE hinstance, HINSTANCE previnstance, // <------ spelling mistake LPSTR lpcmdline, int ncmdshow) { WNDCLASS winclass; // this will hold the class you create // <------ missing semicolon HWND hwnd; // generic window handle MSG msg; // generic message // first, fill in the window class structure winclass.style = CS_DBLCLKS | CS_OWNDC | CS_HREDRAW | CS_VREDRAW; winclass.lpfnWndProc = WindowProc; winclass.cbClsExtra = 0; winclass.cbWndExtra = 0; winclass.hInstance = hinstance; winclass.hIcon = LoadIcon(NULL, IDI_APPLICATION); winclass.hCursor = LoadCursor(NULL, IDC_ARROW); winclass.hbrBackground = (HBRUSH)GetStockObject(BLACK_BRUSH); // <------ void* needs an explicit cast winclass.lpszMenuName = NULL; winclass.lpszClassName = WINDOW_CLASS_NAME; // register the following class if (!RegisterClass(&winclass)) return(0); // create window if (!(hwnd = CreateWindow(WINDOW_CLASS_NAME, "Hello Carsten! The C++ Programmer!", // Title WS_OVERLAPPEDWINDOW | WS_VISIBLE, // Flags 500,500, // x,y 320,200, // width, height NULL, // Handle to parent NULL, // Handle to menu hinstance, // instance // <------ hinstance not hInstance NULL))) // creation parameters return(0); // save the window handle in a global main_window_handle = hwnd; SetMenu(hwnd,LoadMenu(hinstance, "MYMENU")); //enter main event loop while(1) { if (PeekMessage(&msg,NULL,0,0,PM_REMOVE)) { // test whether this is a quit if (msg.message == WM_QUIT) break; // <------ typo //translate any accelerator keys TranslateMessage(&msg); // send the message to the window proc DispatchMessage(&msg); } // end if // main game processing here } // end while return(msg.wParam); } // end WinMain




Reply With Quote