C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Стиль ХР, как в офисе ХР
Sl@Sh
Отправлено: 17.11.2004, 17:49


Мастер участка

Группа: Участник
Сообщений: 383



Вопрос такой : можно ли сделать прогу в стиле офиса ХР без дополнительных компонентов ?
Rius
Отправлено: 18.11.2004, 16:16


Мастер участка

Группа: Участник
Сообщений: 321



И да и нет. Надо поставить на форму всего только один компонент XPMenu.

User Attached Image Скачать файл
XPMenu_2004.11.18___18.16.rar


ART-CODE
Отправлено: 18.11.2004, 16:34


Не зарегистрирован








1 — Сохрани ниже приведенный текст в файл с именем
Program.exe.Manifest
Где Program.exe — имя твоей программы...
2 — положи этот файл рядом с программой и посмотри на результат... может это то, что нужно...
//---------------

Windows Shell
Guest
Отправлено: 18.11.2004, 16:36


Не зарегистрирован







CODE

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> <assemblyIdentity processorArchitecture="*" version="5.1.0.0" type="win32" name="Microsoft.Windows.Shell.shell32"/>     <description>Windows Shell</description>  <dependency>                              <dependentAssembly>                   <assemblyIdentity                 type="win32"                name="Microsoft.Windows.Common-Controls" version="6.0.0.0"           publicKeyToken="6595b64144ccf1df" language="*"                processorArchitecture="*"   />                                </dependentAssembly>                  </dependency>                             </assembly>                              
Sl@Sh
Отправлено: 18.11.2004, 17:45


Мастер участка

Группа: Участник
Сообщений: 383



Большое всем спасибо ! Ещё не проверял на работоспособность, но всё равно спасибо за помощь !
Aptem
Отправлено: 19.11.2004, 13:29


Мастер участка

Группа: Участник
Сообщений: 349



Еще могу компонент дать от TMS, он весь стиль в XP переводит.
Rius
Отправлено: 19.11.2004, 17:03


Мастер участка

Группа: Участник
Сообщений: 321



QUOTE (ART-CODE @ 18/11/2004, 19:36)
1 — Сохрани ниже приведенный текст в файл с именем
Program.exe.Manifest
Где Program.exe — имя твоей программы...
2 — положи этот файл рядом с программой и посмотри на результат... может это то, что нужно...
//---------------

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> <assemblyIdentity processorArchitecture="*" version="5.1.0.0" type="win32" name="Microsoft.Windows.Shell.shell32"/> <description>Windows Shell</description> <dependency> <dependentAssembly> <assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" publicKeyToken="6595b64144ccf1df" language="*" processorArchitecture="*" /> </dependentAssembly> </dependency> </assembly>

Это только разрешает прогамме использоват стили в самой XP. В младших виндах не будет работать! В отличие от XPMenu.
Sl@Sh
Отправлено: 20.11.2004, 20:15


Мастер участка

Группа: Участник
Сообщений: 383



Всем огромное спасибо !!!

Необходимый еффект достигнут. В формулировке вопроса сказано, что необходим стиль офиса ХР. Поэтому особая благодарность Rius !!!
Компонент супер ! Рекомендую всем !
Daedalus
Отправлено: 03.12.2004, 18:21


Ученик-кочегар

Группа: Участник
Сообщений: 8



QUOTE (Rius @ 18/11/2004, 17:18)
И да и нет. Надо поставить на форму всего только один компонент XPMenu.

А как его поставить, если не сложно, объясните! ohmy.gif
Sl@Sh
Отправлено: 03.12.2004, 19:00


Мастер участка

Группа: Участник
Сообщений: 383



Просто установи, положи на форму и в Инспекторе свойство Active установи true.

biggrin.gif
Daedalus
Отправлено: 03.12.2004, 21:16


Ученик-кочегар

Группа: Участник
Сообщений: 8



Хорошо,
как установить (Component> Install Component, так?) и как "положить" на форму? Извиняюсь, новичок я sad.gif
Rius
Отправлено: 03.12.2004, 22:10


Мастер участка

Группа: Участник
Сообщений: 321



В архиве лежит папка (помниться вроде), вытаскиваешь её в каталог Projects билдера, запускаешь файл xpmen.bpk. Открывается проект пакета компонентов (package), в нем нажимаешь кнопку Compile, затем Intsall. В палитре компонент появляется вкладка XP. Закрываешь все (File->Close All).
Чтобы не добавлять к каждому новому проекту путь к заголовочному файлу компонента, открываешь свойства проектов билдера (при этом не должен быть открыт ни один проект) Project->Options (Ctrl+Shift+F11), на вкладке Directories/Conditionals в строке Include Path нажимаешь троеточие. Открывается окно добавления путей к каталогам. Вводишь путь к каталогу с XPMenu (или выбираешь через диалог с троеточием) в нижней строке и нажимаешь Add. Далее ОК.
Создаешь новое приложение или открываешь старое (тогда надо будет сначала путь добавить), ставишь на форму новый компонент из палитры и делаешь свойство Active = true.

Все не так чложно smile.gif Мне этот компонент достался в виде под Delphi.
Daedalus
Отправлено: 03.12.2004, 23:38


Ученик-кочегар

Группа: Участник
Сообщений: 8



Rius, спасибо! Всё ясно, только не пашет:
[Linker Error] Could not create d:\borland\cbuilder6\Projects\Bpl\xpmen.tds (error code 3)

Самое что интересное, Bpl/ папка отсутствует в Projects/ вообще...
Создал пустую Bpl/ пишет новую ошибку:
[Linker Fatal Error] Fatal: Unable to open file 'd:\borland\CBUILD~1\Projects\Lib\xpmen.bpi'

ой...
Rius
Отправлено: 04.12.2004, 13:55


Мастер участка

Группа: Участник
Сообщений: 321



У меня в Projects есть и LIB, и BPL (они создаются сами при установке билдера). Может у тебя каталог Projects — не билдеровский, а свой? Попробуй создать каталог LIB.
Ещё можно самому сделать package:
1. Закрыть все проекты.
2. File->New->Other->Package. Сохранить в отдельный каталог.
3. В этот же каталог перенести файлы xpme.rc, TXPMENU.bmp, XPMenu.pas.
4. Добавить xpme.rc, XPMenu.pas к проекту (такая кнопка большая — Add).
5. Сохранить проект ещё раз, Compile, Install.
6. Далее как описано выше.
Sl@Sh
Отправлено: 07.12.2004, 10:52


Мастер участка

Группа: Участник
Сообщений: 383



Интерестно, а почему с помощью манифеста, в Билдере ХР-шный эффект достигается на 50%, а в Делфи на все 100 ? Вот например
компоненты, которые полностью или вообще не ХР-шные :


Присоединить изображение

Присоединить изображение


Вернуться в Вопросы программирования в C++Builder