Estoy intentando ocultar el menú con el código que viene por defecto en el nuevo proyecto de VC++ 2008, pero no encuentro el modo.
El código es el siguiente:
Código
// RickRoll.cpp: define el punto de entrada de la aplicación. // #include "stdafx.h" #include "RickRoll.h" #define MAX_LOADSTRING 100 // Variables globales: HINSTANCE hInst; // Instancia actual TCHAR szTitle[MAX_LOADSTRING]; // Texto de la barra de título TCHAR szWindowClass[MAX_LOADSTRING]; // nombre de clase de la ventana principal // Declaraciones de funciones adelantadas incluidas en este módulo de código: ATOM MyRegisterClass(HINSTANCE hInstance); BOOL InitInstance(HINSTANCE, int); LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); //INT_PTR CALLBACK About(HWND, UINT, WPARAM, LPARAM); int APIENTRY _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow) { UNREFERENCED_PARAMETER(hPrevInstance); UNREFERENCED_PARAMETER(lpCmdLine); // TODO: colocar código aquí. MSG msg; HACCEL hAccelTable; // Inicializar cadenas globales LoadString(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING); LoadString(hInstance, IDC_RICKROLL, szWindowClass, MAX_LOADSTRING); MyRegisterClass(hInstance); // Realizar la inicialización de la aplicación: if (!InitInstance (hInstance, nCmdShow)) { return FALSE; } hAccelTable = LoadAccelerators(hInstance, MAKEINTRESOURCE(IDC_RICKROLL)); // Bucle principal de mensajes: while (GetMessage(&msg, NULL, 0, 0)) { if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg)) { TranslateMessage(&msg); DispatchMessage(&msg); } } return (int) msg.wParam; } // // FUNCIÓN: MyRegisterClass() // // PROPÓSITO: registrar la clase de ventana. // // COMENTARIOS: // // Esta función y su uso son sólo necesarios si desea que el código // sea compatible con sistemas Win32 anteriores a la función // 'RegisterClassEx' que se agregó a Windows 95. Es importante llamar a esta función // para que la aplicación obtenga iconos pequeños bien formados // asociados a ella. // ATOM MyRegisterClass(HINSTANCE hInstance) { WNDCLASSEX wcex; wcex.cbSize = sizeof(WNDCLASSEX); wcex.style = CS_HREDRAW | CS_VREDRAW; wcex.lpfnWndProc = WndProc; wcex.cbClsExtra = 0; wcex.cbWndExtra = 0; wcex.hInstance = hInstance; wcex.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_RICKROLL)); wcex.hCursor = LoadCursor(NULL, IDC_ARROW); wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW+1); wcex.lpszMenuName = MAKEINTRESOURCE(IDC_RICKROLL); wcex.lpszClassName = szWindowClass; wcex.hIconSm = LoadIcon(wcex.hInstance, MAKEINTRESOURCE(IDI_SMALL)); return RegisterClassEx(&wcex); } // // FUNCIÓN: InitInstance(HINSTANCE, int) // // PROPÓSITO: guardar el identificador de instancia y crear la ventana principal // // COMENTARIOS: // // En esta función, se guarda el identificador de instancia en una variable común y // se crea y muestra la ventana principal del programa. // BOOL InitInstance(HINSTANCE hInstance, int nCmdShow) { HWND hWnd; hInst = hInstance; // Almacenar identificador de instancia en una variable global hWnd = CreateWindow(szWindowClass, szTitle, WS_BORDER | WS_CAPTION, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, NULL, NULL, hInstance, NULL); if (!hWnd) { return FALSE; } ShowWindow(hWnd, nCmdShow); UpdateWindow(hWnd); return TRUE; } // // FUNCIÓN: WndProc(HWND, UINT, WPARAM, LPARAM) // // PROPÓSITO: procesar mensajes de la ventana principal. // // WM_COMMAND : procesar el menú de aplicación // WM_PAINT : pintar la ventana principal // WM_DESTROY : enviar un mensaje de finalización y volver // // LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam){ PAINTSTRUCT ps; HDC hdc; switch (message){ // Esto son los binders de los botones /*case WM_COMMAND: wmId = LOWORD(wParam); wmEvent = HIWORD(wParam); // Analizar las selecciones de menú: switch (wmId) { case IDM_ABOUT: DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd, About); break; case IDM_EXIT: DestroyWindow(hWnd); break; default: return DefWindowProc(hWnd, message, wParam, lParam); } break;*/ case WM_PAINT: hdc = BeginPaint(hWnd, &ps); // TODO: agregar código de dibujo aquí... MessageBox(NULL, L"Test", L"asd", NULL); EndPaint(hWnd, &ps); break; case WM_DESTROY: PostQuitMessage(0); break; default: return DefWindowProc(hWnd, message, wParam, lParam); } return 0; } // Controlador de mensajes del cuadro Acerca de. /*INT_PTR CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) { UNREFERENCED_PARAMETER(lParam); switch (message) { case WM_INITDIALOG: return (INT_PTR)TRUE; case WM_COMMAND: if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL) { EndDialog(hDlg, LOWORD(wParam)); return (INT_PTR)TRUE; } break; } return (INT_PTR)FALSE; } */ /*LRESULT CALLBACK MainWndProc(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam){ return 0; }*/
Lo que quiero es eliminar el menú "Archivo / Ayuda / Acerca de" de la ventana.
Saludos.