自学内容网 自学内容网

Windows图形界面(GUI)-SDK-C/C++ - 窗口创建和销毁 - 显示和刷新 - 属性和管理

目录

窗口创建和销毁

创建窗口

销毁窗口

窗口显示和刷新

FindWindow / FindWindowEx: 查找窗口。

ShowWindow: 设置窗口的显示状态。

UpdateWindow: 函数用于强制窗口重绘其客户区。

窗口属性和管理

GetWindowLong / GetWindowLongPtr: 检索窗口的属性,例如窗口样式、扩展样式等。

SetWindowText / GetWindowText: 设置或获取窗口的标题栏文本


窗口创建和销毁

创建窗口

  • CreateWindowEx 函数用于创建一个窗口。参数包括窗口扩展风格、窗口类名、窗口标题、窗口风格、位置和大小、父窗口、菜单、实例句柄以及附加的创建参数。
  • CreateWindow 函数是 CreateWindowEx 的简化版本,缺少扩展风格参数。
销毁窗口

  • 当窗口接收到 WM_DESTROY 消息时,DestroyWindow 会被调用,释放窗口及其相关资源。
  • 在窗口过程函数中处理 WM_DESTROY 消息,调用 PostQuitMessage 以退出消息循环。

窗口显示和刷新

FindWindow / FindWindowEx: 查找窗口。
// 顶级窗口
HWND hwndMain = FindWindow(_T("0xCC"), _T("CreateWindowEx"));

// 子级窗口
HWND hwndButton = FindWindowEx(hwndMain, NULL, _T("Button"), _T("BS_PUSHBUTTON1"));
ShowWindow: 设置窗口的显示状态。

  • ShowWindow(hwnd, nCmdShow) 函数用于设置窗口的显示状态。nCmdShow 参数可以是 SWSHOW、SWHIDE、SWMINIMIZE、SWMAXIMIZE 等。
UpdateWindow: 函数用于强制窗口重绘其客户区。

  • 显示窗口后立即调用 UpdateWindow 以确保窗口内容立即显示。

窗口属性和管理

GetWindowLong / GetWindowLongPtr: 检索窗口的属性,例如窗口样式、扩展样式等。
// 顶级窗口
HWND hwndMain = FindWindow(_T("0xCC"), _T("CreateWindowEx"));

// 子级窗口
HWND hwndButton = FindWindowEx(hwndMain, NULL, _T("Button"), _T("BS_PUSHBUTTON1"));

// 窗口属性
// ImageBase
LONG_PTR ret1 = GetWindowLongPtr(hwndMain, GWLP_HINSTANCE);

// Style
LONG_PTR ret2 = GetWindowLongPtr(hwndMain, GWL_STYLE);

// Parent Hwnd
LONG_PTR ret3 = GetWindowLongPtr(hwndButton, GWLP_HWNDPARENT);
SetWindowText / GetWindowText: 设置或获取窗口的标题栏文本
// 获取文本
TCHAR szBuffer1[0xFF] = { 0 };
GetWindowText(hwndMain, szBuffer1, 0xFF);

// 设置文本
SetWindowText(hwndMain, _T("New0xCC"));

// 按钮控件
SetWindowText(hwndButton, _T("BUTTON"));
DWORD dwCode = GetLastError();
RedrawWindow(hwndButton, NULL, NULL, RDW_INVALIDATE | RDW_UPDATENOW);


原文地址:https://blog.csdn.net/2301_80612536/article/details/140404611

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!