Главная страница
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.056 c
15-1168248102
Геннадий
2007-01-08 12:21
2007.01.28
Отдел "К" Республики Коми будет "разрабатывать" всех


15-1167841785
fs_more
2007-01-03 19:29
2007.01.28
совместный доступ к массиву из потоков


2-1168589667
novill
2007-01-12 11:14
2007.01.28
Как сделать в колонке грида возможность как выбора из списка,


2-1168287682
Dim..ON
2007-01-08 23:21
2007.01.28
закрытие чужого приложения


4-1158572068
_Sergey_
2006-09-18 13:34
2007.01.28
Проблема с HT