Russian Qt Forum
Октябрь 02, 2024, 01:30 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: "стеклянное" окно в qt  (Прочитано 2374 раз)
Int main()
Гость
« : Июнь 15, 2013, 13:52 »

подскажите, пожалуйста, как сделать "стеклянное" окно типа aero
« Последнее редактирование: Июнь 15, 2013, 13:57 от Int main() » Записан
Int main()
Гость
« Ответ #1 : Июнь 15, 2013, 14:00 »

void MainWindow::VistaGlass(int *Handle)
{
    HMODULE dwm = ::LoadLibrary (L"dwmapi.dll");
    if(dwm)
    {
        typedef HRESULT (WINAPI *pDwmExtendFrameIntoClientArea)
        (HWND, void *MARGINS);
        pDwmExtendFrameIntoClientArea procAddr = (pDwmExtendFrameIntoClientArea)::GetProcAddress(dwm,"DwmExtendFrameIntoClientArea");
        if(procAddr)
        {
            MARGINS a = {-1,0,1000,0};
            HRESULT hr = (procAddr)((HWND)Handle,&a);
        }
        ::FreeLibrary(dwm);
    }
}
вот нашел функцию
Записан
Int main()
Гость
« Ответ #2 : Июнь 15, 2013, 14:04 »

задаю атрибут
MainWindow::setAttribute(Qt::WA_NoSystemBackground);
вызываю функцию
VistaGlass((int*)MainWindow::winId());
но не так все гладко. Проблема в том, что когда нажимаю какую то кнопку(я делаю калькулятор), то на ней в верхнем правом и левом углах появляются какие-то точки. Короче смотрится как-то не так как бы хотелось
Записан
Int main()
Гость
« Ответ #3 : Июнь 15, 2013, 14:11 »

вот скрин. На кнопках плюс и минус заметны эти точки...как иправить? Или может есть какой-то другой кусок кода
Записан
Int main()
Гость
« Ответ #4 : Июнь 15, 2013, 15:46 »

как исправить этот глюк? Почему такого нет в нижных углах кнопки?
Записан
Int main()
Гость
« Ответ #5 : Июнь 16, 2013, 21:09 »

решил проблему. Надо просто
было setAttribute(Qt::WA_
NoSystemBackground) заменить на
setAttribute(Qt::WA_
TranslucentBackground) в
конструкторе
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.128 секунд. Запросов: 21.