Форум: "Основная";
Текущий архив: 2004.01.16;
Скачать: [xml.tar.bz2];
ВнизПрорисовка заголовка окна в различных стилях. Найти похожие ветки
← →
Юрий Зотов (2004-01-06 12:00) [0]По ряду причин требуется прорисовать системный заголовок окна "ручками". Для определения размеров и расположения элементов заголовка (рамки, иконки, кнопок управления окном) используются вызовы GetSystemMetrics с параметрами, определяемыми стилем окна.
В итоге "классический" заголовок рисуется нормально (то есть, неотличимо от системной прорисовки), но при включении тем в XP геометрия "съезжает", причем в зависимости от текущего стиля окна съезжает совершенно по-разному. Что для меня странно - я полагал, что GetSystemMetrics должна выдавать правильные данные при любой теме или без темы вообще.
Если подкорректировать прорисовку, то добиться нужного результата удается - но тогда, естественно, съезжает геометрия заголовка при прорисовке в классическом стиле. Значит, прорисовка должна быть условной и в связи с этим возник вопрос.
Как установить, что мы работаем под под XP - это не проблема, а вот как определить, что включена какая-то схема и определить правильную для нее геометрию элементов заголовка?
Или я вообще не в ту сторону подался? В общем, нужно добиться, чтобы прорисованный вручную заголовок при любых раскладах был неотличим от системного. Не сталкивался ли кто-то с такой же или похожей задачей?
Пытался покопаться в MSDN, но безуспешно (видимо, потому, что он у меня не шибко свежий).
Заранее спасибо.
← →
REA (2004-01-06 12:04) [1]Pls. детализируйте ваши изыскания в отношении вызовов GetSystemMetrics и "коррекции" ее показаний. Т.е. что куда съезжает.
← →
Игорь Шевченко (2004-01-06 12:23) [2]В XP GetSystemMetrics подменяется функцией ThemeGetSystemMetrics из UxTheme.DLL. Она же экспортирует функции IsAppThemed и GetWindowTheme. Может, чем поможет
← →
REA (2004-01-06 12:36) [3]По наводке ИШ в MSDN за апрель 2003:
User Interface Design And Development\Windows Shell\Shell Reference\Visual Styles Reference
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.01.16;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.009 c