Windows 10、Win32经典应用:我想使用DwmSetWindowAttribute创建圆角窗口,但该功能不起作用,为什么?
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);
您说您使用的是 Windows 10,但
DWMWA_WINDOW_CORNER_PREFERENCE
仅从 Windows 11 Build 22000 开始受支持,如 官方文档 所说:
与DWMWA_WINDOW_CORNER_PREFERENCE
一起使用。 指定窗口的圆角首选项。DwmSetWindowAttribute
参数指向pvAttribute
类型的值。DWM_WINDOW_CORNER_PREFERENCE
从 Windows 11 Build 22000 开始支持此值。