Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > Как сделать красивое меню в стиле Office XP,VS.NET


Автор: Albinos 11.10.2003, 17:30
Как сделать красивое меню в стиле Office XP, VS.NET и т.д.? Не догоняю чего-то...

Автор: IZ@TOP 13.10.2003, 13:01
Я тоже не особо понимаю как это сделать ... я посмотрю, может чего накопаю ... мне кажется вообще надо где то в стилях ковыряться biggrin.gif

Автор: Albinos 13.10.2003, 21:23
Да вот посоветовали библиотечку (см. такой же вопрос на С++ форуме). Вроде похоже на офис икспи.

Одна беда - она только для С++. Для фреймворка вчера в инете смотрел - ничего не нашел sad.gif(

Да и наверняка такие библиотеки от майкрософта есть. Их надо только найти.

Автор: siberian 14.10.2003, 12:43
Библиотек от мелкософта нет. Посмотрите лучше на www.codeproject.com

Автор: neutrino 14.10.2003, 22:37
А в самом фреймворке этого нет? Кажись, когда офис устанавливаешь, он все эти менюхи как COM объекты пишет в System. Можно ведь юзать?

Автор: IZ@TOP 14.10.2003, 23:18
А фиг его знает ... мне кажется что все таки оно должно быть где то в FCL ...

Автор: Albinos 15.10.2003, 02:07
Нашел пакет Essential Tools от Syncfusion`a.

Поставил. Посмотрел примеры - глючат и тормозят ужасно (хотя красивые меню там есть!). Попробовал что-то сам написать - так компоненты не загружаются.

Сообщение типа "Invalid parameter <....>". В общем - недоволен sad.gif(

У меня VS .NET 2003. Может просто библиотека старая, под предыдущую VS?

Автор: Zorro 8.11.2003, 16:07
Цитата
Нашел пакет Essential Tools от Syncfusion`a.

Цитата
У меня VS .NET 2003. Может просто библиотека старая, под предыдущую VS?

У меня 2002 студия и эти компоненты грузятся и работают нормально, но вот разворичиваются менюшки рывками

Автор: Albinos 10.11.2003, 01:50
У меня VS 2003. Компоненты просто не устанавливались (какая-то ошибка типа "Invalid parameter"). Ну, разворачиваются рывками и тормозят - есть такая тема.

Вообще-то по хорошему все можно самому нарисовать.

Автор: foRaver 15.11.2003, 22:12
Я как-то пробывал создавать приложение с такими компонентами и использовал просто настрожки каждож отдельнож кнопки или группы кнопок в IDE и выставлял значение FlatStyle либо как Flat , либо как PopUp. Зависит от вкуса. Вот код, кому надо (или просто в IDE надо посмотреть, кому лень разбиратся).

Код

примерно так:

this.button1.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.button1.Location = new System.Drawing.Point(8, 8);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(72, 24);
this.button1.TabIndex = 0;
this.button1.Text = "button1";

Автор: IZ@TOP 17.11.2003, 02:30
foRaver, это мы все знаем ... нам именно как в ХР надо ... ну что бы стили применялись и т.п.

Автор: max-anikin 24.11.2004, 19:03
Еще есть комоненты AspxNavigation ... тоже ничего и работают ... только у нас одна с ними проблема - нам бесплатные нужны ... чтоб без всяких лицензий юзать smile

Автор: Plamenk 24.11.2004, 19:45
Поищите по форуму, где здесь Mr.Duda выложил библиотеку DevExpress.
ИХМО Прикольная штука!!!

Автор: max-anikin 25.11.2004, 15:49
Здесь можно выкачать абсолютно бесплатный контрол для создания своего меню ... http://skmmenu.com/menu/Download/. Можно динамически содздавать, можно парсить xml. Хотелось бы услышать отзывы о этом контроле ... если кто будет работать. Еще есть ссылка http://www.asp.net/ControlGallery - здесь можно найти эту же менюшку и кучу других ... и еще всяких разных контролов smile

Автор: jfx 30.11.2004, 17:49
Чтобы применить XP-шный стиль к готовону приложению можно просто написать манифест. Например так:
Код

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


1. Распространение файла manifest'a вместе с исполняемым модулем: cохраните этот текст в файл с названием ApplicationName.exe.manifest, где ApplicationName - имя исполняемого модуля приложения(без расширения .exe) и расположите его в одной папке с исполняемым модулем.

2. Внедрение manifest'a в ресурсы приложения: В VS .NET откройте .exe файл приложения File->Open->File, в появившемся дереве необходимо щелкнуть правой кнопкой мыши на папке с именем приложения (самая верхняя), затем Add Resource->Import(в строке Files of type нужно выбрать All files) и откройте созданный файл manifest'a. В качестве Resource type введите RT_MANIFEST и измените ID у вновь добавленного ресурса на 1. Сохраните сделанные изменения в .exe файле.

А по поводу компонентов со стилями так их море. Тоже DevExpress, Netadvantage, Janus.WinForms ...

Автор: Gazon 9.1.2005, 20:05
По инету полно всяких контролов меньшек в разных стилях.

http://www.codeproject.com/cs/menu/MhOffice2003Menus.asp office 2003, очень легек в использовании

http://forum.sources.ru/index.php?showtopic=75676 тот же office 2003, но уже с исправленными багами и добавленными свойствами для удобства.

http://www.codeproject.com/cs/menu/magicmenucontrol.asp - щаашсу XP


Автор: Exception 31.10.2005, 09:56
если вопрос ещё актуален, можно у менюшек поставить OwnerDraw в True, а потом обрабатывать события MeasureItem и DrawItem.. могу кинуть ссылку на пример

Автор: NODEN 9.6.2009, 20:11
Я вот нашёл такой пример на языке PureBasic  
Вот скрин проги
user posted image

Автор: KelTron 9.6.2009, 21:36
Ухаха)), чувствую щас набежит народ с криками "Некрофил!!!"

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)