Отключить эффект аэродинамического затухания в диалоге - PullRequest
4 голосов
/ 09 октября 2010

У меня есть модальный диалог, который я создаю с помощью MFC.Когда это появляется, тема Aero делает это постепенным переходом для появления нового окна.В моем конкретном случае я сразу переключаюсь с одного диалога на другой, и эффект затухания отвлекает.Есть ли способ, которым его можно отключить, чтобы сразу же появилось окно, как это происходит при отключении Aero, но без полного отключения Aero?

1 Ответ

4 голосов
/ 09 октября 2010

Функция DwmSetWindowAttribute может вам помочь.Это позволяет вам изменять количество атрибутов окна, связанных с DWM.В частности, атрибут DWMWA_TRANSITIONS_FORCEDISABLED упоминает «Включить или принудительно отключить DWM-переходы», что может помочь.

HRESULT hr = S_OK;
LPCVOID dwAttribute  = (LPCVOID)TRUE;

hr = DwmSetWindowAttribute(hWnd, DWMWA_TRANSITIONS_FORCEDISABLED, 
        &dwAttribute, sizeof(dwAttribute));

if (SUCCEEDED(hr))
{
   // The transitions should have been disabled
}
...