使用DwmSetWindowAttribute创建圆角窗口但不起作用

问题描述 投票:0回答:1

Windows 10、Win32经典应用:我想使用DwmSetWindowAttribute创建圆角窗口,但该功能不起作用,为什么?

enter image description here

MainWindow = CreateWindow(wxex.lpszClassName, WindowTitle, WS_OVERLAPPEDWINDOW,
      0, 0, nWidth, nHeight, NULL, NULL hin, NULL);
DWM_WINDOW_CORNER_PREFERENCE pef = DWMWCP_ROUND;
DwmSetWindowAttribite(MainWindow, DWMWA_WINDOW_CORNER_PREFERENCE, &pef, sizeof(pef));
ShowWindow(MainWindow, SW_SHOW);

enter image description here

c++ winapi dwm
1个回答
1
投票

您说您使用的是 Windows 10,但

DWMWA_WINDOW_CORNER_PREFERENCE
仅从 Windows 11 Build 22000 开始受支持,如 官方文档 所说:

DWMWA_WINDOW_CORNER_PREFERENCE
DwmSetWindowAttribute
一起使用。 指定窗口的圆角首选项。
pvAttribute
参数指向
DWM_WINDOW_CORNER_PREFERENCE
类型的值。

从 Windows 11 Build 22000 开始支持此值。

© www.soinside.com 2019 - 2024. All rights reserved.