Windows图形界面(GUI)-SDK-C/C++ - 窗口创建和销毁 - 显示和刷新 - 属性和管理
- 公开视频 -> 链接点击跳转公开课程
- 博客首页 -> 链接点击跳转博客主页
目录
FindWindow / FindWindowEx: 查找窗口。
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)!