#1 17.06.06 20:58
Контролы в WinXP выглядят как в WinXP
Подскажите, как сделать, чтобы в 6-ом билдере кнопки выгладили по XP-шному, а не под Win95?
Вот нашел как для дельфи сделать:
********************************************
Чтобы исправить эту проблему и продолжить нормально кодить под Win XP делаем следущее:
1) Создаем файл (например mainfest.txt) со следующим содержимым и сохраняем его:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity
name="Microsoft.Windows.ApplicationName"
processorArchitecture="x86"
version="1.0.0.0"
type="win32"/>
<description>ApplicationDescription</description>
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="x86"
publicKeyToken="6595b64144ccf1df"
language="*"
/>
</dependentAssembly>
</dependency>
</assembly>
2)Создаем еще один файл , в нем пишем:
1 24 [путь к файлу]/manifest.txt и сохранем его в папку ../Delphi/Bin/ с именем resfile.rc
3)Запускаем файл ../Delphi/Bin/brcc32.exe resfile.rc
4)После всех этих действий в папке ../Delphi/Bin/ появится файлик с именем resfile.res
его нужно прописать в разделе implementation вашего приложения...
Т.е. после implementation пишется следущее:
{$R resfile.res}
********************************************
Все работает. Но в дельфи. У меня последний пункт не получается, в билдере. Наверное я не знаю как включать в проект файлы *.res . (8(|) (G.S.)
Offline
#2 17.06.06 21:03
Re: Контролы в WinXP выглядят как в WinXP
RusRusRus качаешь программку:
http://vicking.narod.ru/files/XP_manifest_generator.zip
Скармливаешь ей exe-ник, она создает .manifest файл. В-дальнейшем таскаешь этот манифест вместе с экзешником в одном каталоге.
Offline
#7 27.06.06 15:44
Re: Контролы в WinXP выглядят как в WinXP
Сейчас я понимаю модеров, которые ругаются на юзеров, которые не хотят пользоваться поиском! Дольше грузил винду и запускал builder.
Методом научного тыка нашёл простой способ прикрепить ресурсы к программе: Project - Add to Project ... Теперь открывай resfile.res
Исправлено fermer (27.06.06 16:19)
Offline
#9 28.06.06 18:52
Re: Контролы в WinXP выглядят как в WinXP
simplex, я изначально не знал как решить эту проблему, так как с builder'ом не работал. Решение оказалось очевидным, поэтому такой вопрос можно было не поднимать а хоть чуточку приложить усилие для поиска решения.
Таким же простым способ можно подключит RES файл к проекту на Delphi.
Более того я считаю, что между Delphi и C++Builder'ом нет никакой разницы, кроме надписей в исходниках.
Если проводить аналогию по примеру приведённому RusRusRus'ом из DelphiWorld, то можно найти ещё одно простейшее решение, которое перед глазами у разработчика программы на C++ Builder:
//Начальный шаблон для программы на C++Builder
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
Здесь надо обратить внимание на строчку:
#pragma resource "*.dfm",
которая является эквивалентом строчки из Delphi:
{$R *.DFM}
Вывод:
#pragma resource "resfile.res"
Сложно было подумать?
Исправлено fermer (28.06.06 18:53)
Offline
#10 29.06.06 00:09
#11 29.06.06 00:44
Re: Контролы в WinXP выглядят как в WinXP
Если нужны кнопки XP то делай аналогично и с VS2005. Как это сделать я не скажу, так как VS2005 нету и не будет.
Трюк с resfile.res работает с любым языком программирования. Только надо почитать в help'е как подключать ресурсы (RES) к программе.
А понты к тому, что лучше самому разобрать это и понять.
Вот ещё заметил (раньше не обращал внимания): .manifest это тоже самое, из чего был сделан resfile.res
Offline

