阅读量:0
要在C++中实现弹窗的最大化和最小化功能,可以使用Windows API中的相关函数来实现。以下是一个简单的示例代码:
#include <windows.h> // 弹窗的回调函数 LRESULT CALLBACK WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) { switch (uMsg) { case WM_CLOSE: DestroyWindow(hwnd); break; case WM_DESTROY: PostQuitMessage(0); break; case WM_SIZE: if (wParam == SIZE_MINIMIZED) { ShowWindow(hwnd, SW_MINIMIZE); } else if (wParam == SIZE_MAXIMIZED) { ShowWindow(hwnd, SW_MAXIMIZE); } else if (wParam == SIZE_RESTORED) { ShowWindow(hwnd, SW_RESTORE); } break; default: return DefWindowProc(hwnd, uMsg, wParam, lParam); } return 0; } int main() { // 注册窗口类 WNDCLASS wc = {}; wc.lpfnWndProc = WindowProc; wc.hInstance = GetModuleHandle(NULL); wc.lpszClassName = L"WindowClass"; RegisterClass(&wc); // 创建窗口 HWND hwnd = CreateWindowEx( 0, L"WindowClass", L"Window Title", WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 800, 600, NULL, NULL, GetModuleHandle(NULL), NULL ); ShowWindow(hwnd, SW_SHOWNORMAL); // 消息循环 MSG msg; while (GetMessage(&msg, NULL, 0, 0)) { TranslateMessage(&msg); DispatchMessage(&msg); } return 0; }
在上面的示例代码中,我们创建了一个简单的窗口并注册了一个回调函数 WindowProc
来处理窗口消息。在回调函数中,我们捕获了窗口的最大化和最小化等消息,并实现了相应的功能。通过调用 ShowWindow
函数可以实现最大化、最小化和还原窗口的操作。