win32圆角窗口最大化问题
文章转自王牌软件
站长推荐:NSetup一键部署软件
一键式完成美化安装包制作,自动增量升级,数据统计,数字签名。应对各种复杂场景,脚本模块化拆分,常规复杂的脚本代码,图形化设置。无需专业的研发经验,轻松完成项目部署。(www.nsetup.cn)
只回答业务咨询
站长推荐:NSetup一键部署软件
一键式完成美化安装包制作,自动增量升级,数据统计,数字签名。应对各种复杂场景,脚本模块化拆分,常规复杂的脚本代码,图形化设置。无需专业的研发经验,轻松完成项目部署。(www.nsetup.cn)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
HRGN hRgn = ::CreateRoundRectRgn(0, 0, rc.right, rc.bottom, 15, 15); ::SetWindowRgn(this->m_hwnd, hRgn, TRUE); 这样设置圆角后,点击窗口最大化,窗口可以见部分还是不变的,挨CreateRoundRectRgn创建的圆角矩形覆盖了,最大化需要这样 if(GetWindowLong(hwnd, GWL_STYLE) & WS_MAXIMIZE) { RECT rc; ::ShowWindow(hwnd, SW_SHOWNORMAL); GetClientRect(hwnd, &rc); hRgn = ::CreateRoundRectRgn(0, 0, rc.right, rc.bottom, 15, 15); ::SetWindowRgn(hwnd, hRgn, TRUE); } else { SetWindowLong(hwnd, GWL_STYLE, GetWindowLong(hwnd, GWL_STYLE) & ~WS_MAXIMIZEBOX); ::SetWindowRgn(hwnd, NULL, TRUE); ::ShowWindow(hwnd, SW_MAXIMIZE); } |
学习日记,兼职软件设计,软件修改,毕业设计。
本文出自 学习日记,转载时请注明出处及相应链接。
本文永久链接: https://www.softwareace.cn/?p=889