Фантомный белый ящик при использовании окна приложения и фона Windows 11 Mica в QML, qt 6.10.1C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Фантомный белый ящик при использовании окна приложения и фона Windows 11 Mica в QML, qt 6.10.1

Сообщение Anonymous »

Я экспериментировал с применением фонового эффекта слюды в Windows 11 к приложению QML с использованием Windows 11 24H2 с Qt 6.10.1.
Эффект слюды работает, но в окне приложения есть белый прямоугольник, похоже, он связан с исходной шириной и высотой окна, поскольку при изменении размера окна он не увеличивается, а фон слюды за ним отображается так, как должен (см. видео, в котором объясняется, что Я имею в виду)
Вспомогательный класс:
#define WINVER 0x0A00
#define _WIN32_WINNT 0x0A00

#ifndef DWMWA_SYSTEMBACKDROP_TYPE
#define DWMWA_SYSTEMBACKDROP_TYPE 38
#endif

#include "micahelper.h"
#include
#include
#include
#include

// Define the DWM_SYSTEMBACKDROP_TYPE enum
enum DWM_SYSTEMBACKDROP_TYPE
{
DWMSBT_AUTO,
DWMSBT_NONE,
DWMSBT_MAINWINDOW,
DWMSBT_TRANSIENTWINDOW,
DWMSBT_TABBEDWINDOW,
};

void MicaHelper::enableMicaForWindow(QWindow *window)
{
if (!window) {
qDebug() winId());

if (hwnd) {
DWM_SYSTEMBACKDROP_TYPE backdropType = DWMSBT_MAINWINDOW;

HRESULT hr = DwmSetWindowAttribute(
hwnd,
DWMWA_SYSTEMBACKDROP_TYPE,
&backdropType,
sizeof(backdropType)
);

if (FAILED(hr)) {
qDebug()

Подробнее здесь: https://stackoverflow.com/questions/798 ... background
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»