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

Вниз

GRAPHCTL_XPSTYLES vs Manifest   Найти похожие ветки 

 
AndreyRus   (2006-05-03 19:06) [0]

Для отрисовки элементов формы в стиле "Windows XP" необходимо добавить в приложение ресурс размером 435 байт. В чем же тогда смысл применения директивы - GRAPHCTL_XPSTYLES, если это увеличивает размер кода на 12 Кб?


 
ECM ©   (2006-05-03 19:18) [1]

Смысл GRAPHCTL_XPSTYLES в придании стиля "WinXP"(отрисовка с использованием тем) графическим контролам (windowed = false). Ресурс (XP-манифест) воздействует только на оконные контролы (windowed = true).


 
AndreyRus   (2006-05-04 08:55) [2]

Т.е. использование этой директивы и применение графических контролов позволяет придать приложениям стиль "WinXP" при выполнении в предыдущих версиях операционной системы?


 
ECM ©   (2006-05-04 10:57) [3]


> Т.е. использование этой директивы и применение графических
> контролов позволяет придать приложениям стиль "WinXP" при
> выполнении в предыдущих версиях операционной системы?

Нет. Т.к. в предыдущих версиях нет поддержки тем. Чудес не бывает - просто в программу добавляется код который не будет работать на версиях ниже XP

 {$IFDEF GRAPHCTL_XPSTYLES}
 if WinVer < wvXP then
   DoNotDrawGraphCtlsUsingXPStyles := TRUE;
 {$ENDIF}


Для того чтобы графические контролы отображались "как в XP" необходимо отрисовывать их самостоятельно (соответсвенно с включением всего кода отрисовки в исполняемый модуль). Например как это делается в Grush-ах


 
ECM ©   (2006-05-04 10:59) [4]

З.Ы.

> Для того чтобы графические контролы отображались "как в
> XP" необходимо отрисовывать их самостоятельно (соответсвенно
> с включением всего кода отрисовки в исполняемый модуль).
>  Например как это делается в Grush-ах

Пропустил ключевое слово в предыдущих версиях Windows
:))


 
AndreyRus   (2006-05-04 11:14) [5]

Так какой же тогда смысл в директиве GRAPHCTL_XPSTYLES, если она увеличивает размер кода на 12 кб, а манифест только на 435 байт?


 
ECM ©   (2006-05-04 14:41) [6]


> Так какой же тогда смысл в директиве GRAPHCTL_XPSTYLES,
> если она увеличивает размер кода на 12 кб, а манифест только
> на 435 байт?

"Опять двадцать пять - за рыбу деньги" :)
Для начала почитайте на этом форуме (тут есть поиск) что такое графичекие контролы и зачем они нужны... Я думаю вопросы отпадут :)
Разницу между манифестом и GRAPHCTL_XPSTYLES я уже объяснил в [1]
Они относятся к разным контролам - и ВАМ решать какими из них пользоваться и в каком случае.


 
homm ©   (2006-05-04 23:44) [7]

Добавлю что
1) графические контролы имхо глючнее
2) ими пользуются совсем мало народу, из-за чего следует, что в них никто не ищет ошибок, из чего следует 1)
3) они созданы для того, чтобы приложения в 9х кушали меньше ресурсов, соответственно встает большой вопрос оцелесообразности использовать их и GRAPHCTL_XPSTYLES
4) я давно не смотрел, но по-моему Владимир ничего не делал, чтобы они правильно работали с новой прозрачностью (Transparent), а я точно ничего не делал в этом направлении.

оно того стоит? я думаю мало кто скажет, что да.


 
Barloggg   (2006-05-06 09:28) [8]

а как их вообще включить? просто переключить Windowed в положение False и все?


 
ECM ©   (2006-05-06 09:41) [9]


> просто переключить Windowed в положение False и все?

Да (для МСК)



Страницы: 1 вся ветка

Текущий архив: 2007.01.28;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.049 c
15-1167947515
ProgRAMmer Dimonych
2007-01-05 00:51
2007.01.28
Не сочтите за тупость и неумение читать...


2-1168516635
16alex
2007-01-11 14:57
2007.01.28
Unable to execute query


4-1158337668
maxistent
2006-09-15 20:27
2007.01.28
Информация о процессе


15-1167474376
IMHO
2006-12-30 13:26
2007.01.28
MS Word и кубковые сетки


3-1162375442
Сатир
2006-11-01 13:04
2007.01.28
Открытие курсора с переменным кол-вом параметров