Название: "стеклянное" окно в qt Отправлено: Int main() от Июнь 15, 2013, 13:52 подскажите, пожалуйста, как сделать "стеклянное" окно типа aero
Название: Re: "стеклянное" окно в qt Отправлено: Int main() от Июнь 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); } } вот нашел функцию Название: Re: "стеклянное" окно в qt Отправлено: Int main() от Июнь 15, 2013, 14:04 задаю атрибут
MainWindow::setAttribute(Qt::WA_NoSystemBackground); вызываю функцию VistaGlass((int*)MainWindow::winId()); но не так все гладко. Проблема в том, что когда нажимаю какую то кнопку(я делаю калькулятор), то на ней в верхнем правом и левом углах появляются какие-то точки. Короче смотрится как-то не так как бы хотелось Название: Re: "стеклянное" окно в qt Отправлено: Int main() от Июнь 15, 2013, 14:11 вот скрин. На кнопках плюс и минус заметны эти точки...как иправить? Или может есть какой-то другой кусок кода
Название: Re: "стеклянное" окно в qt Отправлено: Int main() от Июнь 15, 2013, 15:46 как исправить этот глюк? Почему такого нет в нижных углах кнопки?
Название: Re: "стеклянное" окно в qt Отправлено: Int main() от Июнь 16, 2013, 21:09 решил проблему. Надо просто
было setAttribute(Qt::WA_ NoSystemBackground) заменить на setAttribute(Qt::WA_ TranslucentBackground) в конструкторе |