Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.01.16;
Скачать: CL | DM;

Вниз

Прорисовка заголовка окна в различных стилях.   Найти похожие ветки 

 
Юрий Зотов ©   (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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.018 c
3-49400
Анатолий
2003-12-19 16:37
2004.01.16
Как правильно написать: UPDATE в процедуре?


14-49683
SPeller
2003-12-26 13:06
2004.01.16
Глюки с биосом.


14-49704
MadAngel
2003-12-25 16:14
2004.01.16
Помогите с The Bat om


3-49463
rtooo
2003-12-19 01:12
2004.01.16
Как немного автоматизировать базу


14-49701
Кен
2003-12-26 02:11
2004.01.16
Какую лучше выбрать вэб-камеру для тёмных помещений ? А то на