LRESULT CALLBACK WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) {
switch (uMsg) {
case WM_COMMAND:
switch (LOWORD(wParam)) {
case 1:
MessageBox(hwnd, "Seleccionaste Opción 1", "Info", MB_OK);
break;
case 2:
MessageBox(hwnd, "Seleccionaste Opción 2", "Info", MB_OK);
break;
case 3:
PostQuitMessage(0);
break;
}
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return DefWindowProc(hwnd, uMsg, wParam, lParam);
}
return 0;
}
int main() {
HWND hwnd;
MSG msg;
WNDCLASS wc = {0};
wc.lpfnWndProc = WindowProc;
wc.hInstance = GetModuleHandle(NULL);
wc.lpszClassName = "MiVentana";
RegisterClass(&wc);
hwnd = CreateWindow("MiVentana", "Ejemplo de menú", WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 300, 200, NULL, hMenu, NULL, NULL);
ShowWindow(hwnd, SW_SHOW);
while (GetMessage(&msg, NULL, 0, 0)) {
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;
}