Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Поддержка WinXP Theming здесь. Кому надо - налетайте! :)

415
18 сентября 2003 года
SLA
274 / / 08.08.2003
Есть такой компонент - ThemeManager. Годится для BCB 4,5,6. Обеспечивает поддержку WinXP Theming.
Именно этот компонент рекомендует сам Borland. Кроме того, насколко я понял, встроенная в Delphi 7.0 поддержка WinXP GUI, основана именно на этом компоненте.

Живет он здесь: http://www.delphi-gems.com/ThemeManager.php

ThemeManager устроен в стиле "drop & forget". Просто перетастиваешь этот компонент в свою программу, и все готово - весь интерфейс проги в стиле XP. Размер программы увеличивается на микроскопическую величину. В пристегнутом примере - на 500 байт.

Если у кого-то возникнут сложности с установкой и использованием, могу проинструктировать.
Кстати, пристегнутый пример демонстрирует возможности ThemeManager.
357
19 сентября 2003 года
Тимофей
112 / / 20.02.2000
Что за ошибка при компиляции :
[Linker Error] 'C:\PROGRAM FILES\BORLAND\CBUILDER6\LIB\RELEASE\BDERTL.LIB' contains invalid OMF record, type 0x05
У меня BCB6....
415
19 сентября 2003 года
SLA
274 / / 08.08.2003
Цитата:
Originally posted by Тимофей
Что за ошибка при компиляции :
[Linker Error] 'C:\PROGRAM FILES\BORLAND\CBUILDER6\LIB\RELEASE\BDERTL.LIB' contains invalid OMF record, type 0x05
У меня BCB6....


Private message by kot_
Что-то не получилось у меня с компонентом под BCB 5. Вначале ругался на отсутствие библиотеки .lib. Потом вроде поборол. Но при компиляции ни какого эффекта не наблюдается...:(
Может я с чем не разобрался? Если можно - краткий мануальчик, или пример или то и другое...:)
Заранее спасибо.



КАК ИНСТАЛЛИРОВАТЬ:
====================


Очень важный пункт:
В архиве ThemeManager.zip есть директория \BCB. Там лежит несколько *.h файлов, которые нужно положить в ту директорию, где ваш Builder хранит CommCtrl.h. Смело разрешайте перезаписывать старые файлы новыми. Хуже от этого точно не станет.

Идем дальше. Вот это написано в Хэлпе про инсталляцию под BCB:

1. Create a new package (File|New|Package)
2. Add all Theme Manager *.pas files to this package. ThemeMgrDB.pas is optional and only necessary for database controls.
[color=red]!!! ВАЖНО: Добавлять их нужно не перетаскиванием мышкой, а через кнопку "Add", иначе в BCB6 не скомпилируется![/color]
3. Save the package.
4. Compile and install the package.
5. Now either you include the Theme Manager and Theme Manager\BCB path to the include and library path of each project that uses Theme Manager or you copy the Theme Manager *.hpp as well as the three *.h files from the BCB sub path and WinXP.res to your library path.

У меня BCB 5. Я сделал все по этой инструкции и у меня не возникло проблем. Хотя я ставил не последнюю версию ThemeManager 1.9.15, а 1.9.6. Может быть, в этом все и дело? Версия 1.9.6 лежит здесь:
http://www.delphi-gems.com/archive/Museum/Theme%20Manager%20&%20Services/ThemeManager%201.9.6.zip

КАК ИСПОЛЬЗОВАТЬ:
====================


После установки ThemeManager у вас появилась новая закладка на панели визуальных компонентов. Она называется "XP", и на ней есть только один компонент - TThemeManager.

1. Перетаскиваете TThemeManager в свою программу.
2. Либо добавляете в свою программу (Add To Project) файл WINXP.RES, либо кладете в директорию с вашим проектом файл ИмяВашейПрограммы.exe.manifest. Такой файл находится в аттачменте к этому сообщению. (Это такой особый XML документ, который разрешает Windows применить WinXP GUI для вашей программы. Кстати, такой файл можно добавлять в директорию ЛЮБОЙ программы, не поддерживающей XP GUI. Эффекты бывают очень интересные. Поэкспериментируйте, это весело. :) ). Кстати, WINXP.RES - это тот же XML документ, только в виде ресурса.

Дальнейшие инструкции НЕНУЖНО выполнять, если у вас последняя версия ThemeManager 1.9.15.
3. В свойствах проекта на закладке Directories добавляете к директориям INCLUDE и LIBRARY путь к файлу ThemeMgr.hpp и другим .hpp файлам, которые вы получили в результате компиляции ThemeManager.
4. Все готово. Запускаете свою программу на компиляцию (Run). При первой компиляции Билдер спросит: "А где это 'ThemeMgr.h', чё-то я найти его не могу?" (Конечно не смог, ведь расширение должно быть HPP а не H.) В ответ вы ему указываете путь к ThemeMgr.hpp. И в результате наслаждаетесь стильным и современным видом вашей первой программы для XP. ;)

P.S. Обязятельно напишите, получилось ли скомпилировать.

371
23 сентября 2003 года
Non_prog
193 / / 20.03.2000
SLA скажи пожалуйста как вставить VurtualTreeView, там написано что он Run-time only, т.е. как им тогда пользоваться.
:)
415
23 сентября 2003 года
SLA
274 / / 08.08.2003
Цитата:
Originally posted by Non_prog
SLA скажи пожалуйста как вставить VurtualTreeView, там написано что он Run-time only, т.е. как им тогда пользоваться.
:)



Я не знаю, я им никогда не пользовался. Но хэлп читал, и образцы смотрел. Кстати, там где-то есть какие-то образцы с исходниками на Дельфи. Так что если что-то не ясно, всегда можно посмотреть как это ТАМ работает.
Наверное нужно создавать и заполнять VurtualTreeView во время выполнения программы.

Вот какой-то исходник с VurtualTreeView, создающий что-то в run-time:
http://scripts.delphi-gems.com/download2.php?ID=40

Вот полный хэлп по VurtualTreeView:
http://scripts.delphi-gems.com/download2.php?ID=27

415
23 сентября 2003 года
SLA
274 / / 08.08.2003
Специально для тех, у кого не получается установить ThemeManager под BCB.

ЗДЕСЬ ЛЕЖИТ ThemeManager ПОДГОТОВЛЕННЫЙ ДЛЯ BCB 5 и 6:
http://scripts.delphi-gems.com/download2.php?ID=30

1. Запускаете ThemeManagerC6.bpk (или C5)
2. Жмете [Compile]
3. Жмете [Install]

Всё! :)
989
24 сентября 2003 года
Vlad232ua
182 / / 02.04.2003
Цитата:
Originally posted by SLA
Специально для тех, у кого не получается установить ThemeManager под BCB.

ЗДЕСЬ ЛЕЖИТ ThemeManager ПОДГОТОВЛЕННЫЙ ДЛЯ BCB 5 и 6:
http://scripts.delphi-gems.com/download2.php?ID=30

1. Запускаете ThemeManagerC6.bpk (или C5)
2. Жмете [Compile]
3. Жмете [Install]

Всё! :)


А если я НЕНАВИЖУ XP и иже с ними.:) Ну настроение у меня фривольное. Надеюсь модер не "лупанет" по моей тоненькой шейке. Серьезно, народ !!! Что-й то скуЧНО.

415
24 сентября 2003 года
SLA
274 / / 08.08.2003
Цитата:
Originally posted by Vlad232ua

А если я НЕНАВИЖУ XP и иже с ними.:)



Я признаюсь, первое время я тоже люто ненавидел XP. Сейчас я уже привык к новому GUI (он мне теперь даже нравится), но продолжаю ненавидеть за всякие лишние сервисы, кол-во съедаемой оперативки и за то, что мне совершенно неизвестно что происходит внутри XP. А также за то, что XP поставила жирную точку на моем любимом стареньком ДОСе. (Эх...)

Этот список можно продолжать, но тут есть одно но... Это прогресс (нравится он нам или нет), и всем приходится приспосабливаться (а программерам - в первую очередь!). XP существует уже два года. Сейчас он стоит на многих, ОЧЕНЬ МНОГИХ компьютерах. Скоро следующий релиз Виндовс, а мы еще к этому не привыкли...

Как мыслит обычный одноклеточный юзер: если окошко программы - серое, а кнопки - квадратные, значит программа - старьё и отстой. Ты же не объяснишь ему, что твоя программа имеет такой вид из-за твоих личных принципов и амбиций по отношению к Микрософт. :))) Или я не прав? :)

989
25 сентября 2003 года
Vlad232ua
182 / / 02.04.2003
Цитата:
Originally posted by SLA

Ты же не объяснишь ему, что твоя программа имеет такой вид из-за твоих личных принципов и амбиций по отношению к Микрософт. :))) Или я не прав? :)


Да прав конечно, это я так (тем более, что с такой политикой Microsoft безработица нам не грозит и грозить не будет).

415
03 февраля 2004 года
SLA
274 / / 08.08.2003
Цитата:
Originally posted by Тимофей
Что за ошибка при компиляции :
[Linker Error] 'C:\PROGRAM FILES\BORLAND\CBUILDER6\LIB\RELEASE\BDERTL.LIB' contains invalid OMF record, type 0x05
У меня BCB6....



Я только что узнал решение проблем с установкой ThemeManager под BCB6.
Выше в этой теме написана моя инструкция по установке. Там при выполнении пункта

2. Add all Theme Manager *.pas files to this package.

нужно НЕ ПЕРЕТАСКИВАТЬ МЫШКОЙ эти PAS-файлы в окошко, а ДОБАВИТЬ ИХ КНОПКОЙ "Add", которая находится на тулбаре этого самого окошка.
Очень странно, но... помогает! :)

Это не касается BCB5, там все и так компилируется.
И еще - ставьте именно последнюю версию ThemeManager 1.9.15, т.к. там исправлен один баг, который был в 1.9.6 - при первой компиляции проекта Билдер спрашивал, где лежит "ThemeMgr.h", и приходилось прописывать полный путь к нему в Include Path, а еще исправлять его название на "ThemeMgr.hpp" В новой версии ничего этого не нужно.

357
04 февраля 2004 года
Тимофей
112 / / 20.02.2000
Спасибо за ответ...
10K
18 апреля 2007 года
Gugle
3 / / 01.04.2005
Доброго времени суток!
Отцы, помогите настроить ThemeManager в delphi 7!!!
Не хочет работать и все. Требует ThemeMgr.dcu. Откуда его взять? Пробовал искать на компе. Нет его, НЕТ! Скачивал ThemeManager.zip, как я понял там только для delphi 6.
92
19 апреля 2007 года
Тень Пса
2.2K / / 19.10.2006
карошая штуковина ) Alpha Skins, например, увеличивает размер йEXEшника на метр... если не ошибаюсь... что само по себе очень обидно..
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог