Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.10.2009, 18:21   #1
Niklan
Пользователь
 
Регистрация: 30.10.2009
Сообщений: 55
По умолчанию Визуальное отображение в соответствии с установленной Windows

Например делаю кнопку, в редакторе Delphi выглядит нормально, красиво, как и должно на vista. А когда компилирую, оформление как у Windows 98, просто серая кнопка
Niklan вне форума Ответить с цитированием
Старый 30.10.2009, 18:53   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

компонент XPManifest киньте на форму(вкладка System)
правда если Делфи >=7
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 30.10.2009, 18:53   #3
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

попробуйте рядом с проектом положить манифест файл с именем вашего проекта.

никаких компонентов не нужно, вы можете прямо из программы создавать файл такого вида:
Код:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1"
manifestVersion="1.0">
<assemblyIdentity
name="имя вашего exe"
processorArchitecture="x86"
version="1.0.0.0"
type="win32"/>
<description>имя вашего exe</description>
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="x86"
publicKeyToken="6595b64144ccf1df"
language="*"
/>
</dependentAssembly>
</dependency>
</assembly>
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation

Последний раз редактировалось raxp; 30.10.2009 в 18:56.
raxp вне форума Ответить с цитированием
Старый 04.11.2009, 15:35   #4
Niklan
Пользователь
 
Регистрация: 30.10.2009
Сообщений: 55
По умолчанию

Цитата:
Сообщение от raxp Посмотреть сообщение
попробуйте рядом с проектом положить манифест файл с именем вашего проекта.

никаких компонентов не нужно, вы можете прямо из программы создавать файл такого вида:
Код:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1"
manifestVersion="1.0">
<assemblyIdentity
name="имя вашего exe"
processorArchitecture="x86"
version="1.0.0.0"
type="win32"/>
<description>имя вашего exe</description>
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="x86"
publicKeyToken="6595b64144ccf1df"
language="*"
/>
</dependentAssembly>
</dependency>
</assembly>
Выше написали понятнее, и причем работает
Niklan вне форума Ответить с цитированием
Старый 04.11.2009, 15:43   #5
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

если-бы вы удосужились выяснить что такое манифест, то у вас-бы заработало
Код:
unit manifest;

interface

uses classes,sysutils;

 procedure SaveManifest(AppName, Description: string);

implementation

procedure SaveManifest(AppName, Description: string);
var RL: TStringList;
begin
 RL := TStringList.Create;
 RL.Add('<?xml version="1.0" encoding="UTF-8" standalone="yes"?>');
 RL.Add('<assembly xmlns="urn:schemas-microsoft-com:asm.v1"');
 RL.Add('manifestVersion="1.0">');
 RL.Add('<assemblyIdentity');
 RL.Add('name="' + AppName + '"');
 RL.Add('processorArchitecture="x86"');
 RL.Add('version="1.0.0.0"');
 RL.Add('type="win32"/>');
 RL.Add('<description>' + Description + '</description>');
 RL.Add('<dependency>');
 RL.Add('<dependentAssembly>');
 RL.Add('<assemblyIdentity');
 RL.Add('type="win32"');
 RL.Add('name="Microsoft.Windows.Common-Controls"');
 RL.Add('version="6.0.0.0"');
 RL.Add('processorArchitecture="x86"');
 RL.Add('publicKeyToken="6595b64144ccf1df"');
 RL.Add('language="*"');
 RL.Add('/>');
 RL.Add('</dependentAssembly>');
 RL.Add('</dependency>');
 RL.Add('</assembly>');
 //
 RL.SaveToFile(ExtractFilePath(paramstr(0)) + ExtractFilename(paramstr(0)) + '.manifest');
 RL.Free
end;

end.

//использование
//в файле проекта *.dpr
program project1;

uses
  Forms,
  Windows,
  manifest in 'manifest.pas',
  unit1 in 'unit1.pas' {form};

{$R *.RES}
begin
  //стиль-
  SaveManifest('project1', 'бла-бла-бла');
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Визуальное отображение активной табы cneltyn HTML и CSS 0 27.10.2009 10:07
100% "прописка" уже установленной программы BloodDoc Операционные системы общие вопросы 6 07.10.2009 21:46
Windows 7 некорректное отображение кирилицы Stilet Windows 6 07.05.2009 13:31
Проблемы с установленной программой Спартак Общие вопросы Delphi 8 06.07.2008 18:06