INNOV.RU | Информационный портал 

   
каждый месяц нас читают более 300 тысяч человек .
КУРСЫ КРИПТОВАЛЮТ

 

Манифест программ Windows XP в Delphi

 
Нижний Новгород, 30.10.2012, INNOV.RU

Здесь рассказывается о том, как сделать любой проект похожим на Windows XP программы. В Windows XP присутствует менеджер тем (theme manager), который может изменить вид многих стандартных объектов Windows.

Здесь рассказывается о том, как сделать любой проект Delphi похожим на Windows XP программы. В Windows XP присутствует менеджер тем (theme manager), который может изменить вид многих стандартных объектов Windows. Сам Misrosoft утверждает, что библиотеки comctl32.dll старой версии содержат код для поддержки платформ разного вида. У Microsoft возникла хорошая мысль о чистке содержимого comctl32.dll, чтобы улучшить работу тем в Windows XP. После этого получилось, что библиотек есть две версии: старая - 5.8 и новая – 6, последняя из которых совместима только с XP и со всеми последующими версиями Windows.

По умолчанию любая программа Delphi, разработанная под Windows XP, работает с версией 5.8, что позволяет получить такой же вид, что и ранее разработанные приложения Windows. Поэтому для использования библиотеки 6 версии, необходимо подключить к нужному приложению Manifest, который Windows будет воспринимать для отрисовки компонентов из новой библиотеки.

Манифест является XML документом, который необходимо подлинковать в ресурсы необходимого приложения Delphi (источник - форум программистов). Наиболее часто ресурсы применяются для хранения различных вещей, таких как: курсоры мыши, иконки и картинки. XML документ, подключаясь к ресурсной секции, позволяет выбрать Windows XP необходимую версию comctl32.dll для использования.

Для подключения данного XML манифеста к приложению Delphi, необходимо изучить константы, предоставленные Microsoft. При добавлении ресурса в приложение, существуют номер группы, а также порядковый номер, который связан с ресурсом. При этом номер группы чаще всего называется понятным именем. Так если просмотреть проводник ресурсов (resource explorer), который включен в Delphi как демонстрационный проект, то можно увидеть группы с простыми названиями: "Icons" - Иконки, "Strings" - Строки, "Cursos" - Курсоры мыши или "Bitmaps" - Картинки. Номер манифеста, определяющий библиотеку comctl32.dll - 1. Данная информация необходима тогда, когда происходит создание нового ресурса (.RES файл). Для формирования необходимого .RES файла, предварительно нужно создать файл .RC, в котором и будет заключен XML манифест, относящийся к соответствующей группе, а также номеру ресурса. В архиве zip, включенном в даныый документ можно увидеть два файла: WindowsXP.RC и WindowsXP.Manifest.

Так первый файл WindowsXP.RC включает в себя инструкции по подключению WindowsXP.Manifest (XML-документа). Сам манифест - XML документ включает информацию о данном приложении, которую необходимо добавить, как и другую информацию из библиотеки comctl32.dll для использования. Далее нужно использовать компилятор ресурсов Delphi для компиляции .RC файла. В итоге получится файл WindowsXP.RES, который можно спокойно подключить к приложению. Чтобы скомпилировать ресурс, необходимо в командной строке ввести: C:\project1> brcc32 windowsxp.rx.

После компиляции можно увидеть в то же директории файл WindowsXP.RES. Последним действием для совместимости приложения с WindowsXP, является подключение ресурсного файла к данному приложению Delphi (см. на форуме delphi). Наиболее простым способом является дополнение нижеприведенной директивы в созданный файл проекта либо на главную форму: {$R WindowsXP.res}.

Наиболее вероятно, что данную строчку необходимо будет разместить сразу за директивой {$R *.dfm}, которая уже присутствует в созданном приложении Delphi. Сразу после подключения WindowsXP.RES к приложению, необходимо откомпилировать его и запустить. Менеджер Windows для тем, приведет созданное приложение к такому же виду, как и остальные приложения Windows XP.

оставить комментарий



Вернуться к списку новостей
добавить виджет INNOV.RU
источник:  INNOV.RU



Материалы по теме:



 архив новостей /2005-2009/2009/2010/2011/ 2012