Проблема ленты темы Vista Basic

В Vista, когда в основной теме, после вызова IUIFramework::Destroy() тема Vista теряется, и расширение окна не отображается за пределами начальной области.

Вы можете легко воспроизвести его с помощью образца SimpleRibbon SDK. В simpleribbon.cpp вставьте в блок переключателей WndProc:

case WM_KEYUP:
   DestroyFramework();
   InvalidateRect(hWnd, NULL, TRUE);
   break;

Скомпилируйте, запустите, нажмите клавишу и попробуйте увеличить в Vista Basic Theme (без проблем в Win7 или Vista Aero или Windows Classic).

Как обойти?

[редактировать]

Я был бы удовлетворен некоторыми следами, чтобы исследовать, я не ожидаю приготовленное решение:-)

1 ответ

Решение

Элемент управления ленты, кажется, устанавливает область окна и забывает удалить ее при разрушении ленты.

Установка нулевой области окна по возвращении IUIFramework::Destroy() кажется, чтобы решить проблему.

Другие вопросы по тегам