![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
GRAPHCTL_XPSTYLES vs Manifest
AndreyRus © (2006-05-03 19:06:00)Для отрисовки элементов формы в стиле "Windows XP" необходимо добавить в приложение ресурс размером 435 байт. В чем же тогда смысл применения директивы - GRAPHCTL_XPSTYLES, если это увеличивает размер кода на 12 Кб?
ECM (2006-05-06 09:41:00) [1]
> просто переключить Windowed в положение False и все?
Да (для МСК)
Barloggg (2006-05-06 09:28:00) [2]а как их вообще включить? просто переключить Windowed в положение False и все?
homm (2006-05-04 23:44:00) [3]Добавлю что
1) графические контролы имхо глючнее
2) ими пользуются совсем мало народу, из-за чего следует, что в них никто не ищет ошибок, из чего следует 1)
3) они созданы для того, чтобы приложения в 9х кушали меньше ресурсов, соответственно встает большой вопрос оцелесообразности использовать их и GRAPHCTL_XPSTYLES
4) я давно не смотрел, но по-моему Владимир ничего не делал, чтобы они правильно работали с новой прозрачностью (Transparent), а я точно ничего не делал в этом направлении.
оно того стоит? я думаю мало кто скажет, что да.
ECM (2006-05-04 14:41:00) [4]
> Так какой же тогда смысл в директиве GRAPHCTL_XPSTYLES,
> если она увеличивает размер кода на 12 кб, а манифест только
> на 435 байт?
"Опять двадцать пять - за рыбу деньги" :)
Для начала почитайте на этом форуме (тут есть поиск) что такое графичекие контролы и зачем они нужны... Я думаю вопросы отпадут :)
Разницу между манифестом и GRAPHCTL_XPSTYLES я уже объяснил в [1]
Они относятся к разным контролам - и ВАМ решать какими из них пользоваться и в каком случае.
AndreyRus (2006-05-04 11:14:00) [5]Так какой же тогда смысл в директиве GRAPHCTL_XPSTYLES, если она увеличивает размер кода на 12 кб, а манифест только на 435 байт?
ECM (2006-05-04 10:59:00) [6]З.Ы.
> Для того чтобы графические контролы отображались "как в
> XP" необходимо отрисовывать их самостоятельно (соответсвенно
> с включением всего кода отрисовки в исполняемый модуль).
> Например как это делается в Grush-ах
Пропустил ключевое слово в предыдущих версиях Windows
:))
ECM (2006-05-04 10:57:00) [7]
> Т.е. использование этой директивы и применение графических
> контролов позволяет придать приложениям стиль "WinXP" при
> выполнении в предыдущих версиях операционной системы?
Нет. Т.к. в предыдущих версиях нет поддержки тем. Чудес не бывает - просто в программу добавляется код который не будет работать на версиях ниже XP
{$IFDEF GRAPHCTL_XPSTYLES}
if WinVer < wvXP then
DoNotDrawGraphCtlsUsingXPStyles := TRUE;
{$ENDIF}
Для того чтобы графические контролы отображались "как в XP" необходимо отрисовывать их самостоятельно (соответсвенно с включением всего кода отрисовки в исполняемый модуль). Например как это делается в Grush-ах
AndreyRus (2006-05-04 08:55:00) [8]Т.е. использование этой директивы и применение графических контролов позволяет придать приложениям стиль "WinXP" при выполнении в предыдущих версиях операционной системы?
ECM (2006-05-03 19:18:00) [9]Смысл GRAPHCTL_XPSTYLES в придании стиля "WinXP"(отрисовка с использованием тем) графическим контролам (windowed = false). Ресурс (XP-манифест) воздействует только на оконные контролы (windowed = true).