Форум: "Прочее";
Текущий архив: 2013.09.29;
Скачать: [xml.tar.bz2];
ВнизМного вопросов по dxRibbon из DevExpress Найти похожие ветки
← →
DevilDevil © (2013-02-08 12:32) [0]Не могу найти нормальных статей, уроков, файла справки. Даже примеров не установилось, может у меня какой-то слишком неправильный пиратский инсталер. Собственно если покажете классные статьи и рекомендации - будет классно.
Разрабатываю один внутренний проект, сроки по которому затягиваются. Но не суть.
Первый раз работаю с рибонами, выбрал этот инструмент специально, чтобы организовать привычный офисный интерфейс-стайл + самому изучить известную технологию. Сложность в том, что я не знаю как работать с этим инструментом. Выписываю список актуальных вопросов, на каждый из которых мне нужен ответ.
1) Все окна в стиле Ribbon.
предполагается главное окно и несколько вспомогательных. Если использовать вспомогательные окна в обычном стиле - получается разноплановость стилей, некрасиво. Вопрос. Принято ли использовать Ribbon-style в остальных окнах. Если да - то как это сделать, не используя ленту в качестве интерфейса. Например у меня должно быть окно логина при старте программы. По моей логике, это окно тоже должно красиво (Ribbon-style) выглядеть с хорошими нестандартными кнопочками.
2) Всплывающее меню "More Сommands...".
Если по ленте кликнуть правой кнопкой мыши - то появляется всплывающее меню с пунктами "More commands...", "Mimimize the Ribbon". Как убрать это меню ?
3) Русификация.
Использую несколько элементов на ленте. Например CheckComboBox, DateEdit. Так вот когда в чеккомбобоксе ничего не выбрано появляется надпись "None selected". А при вызове редактировании DateEdit появляется диалог с кнопками "Today" и "Clear". Вопрос. Можно ли как-то русифицировать эти надписи.
4) Caption.
сейчас вижу Caption в одном шрифте. Если не ошибаюсь - видел Caption с разными шрифтами. Мол название продукта одним цветом, а имя документа - другим. Вопрос. Как это сделать ?
5) CheckBox, Checked.
не могу в дизайн тайм найти свойство Checked у CheckBox. Кстати как его выставить в рантайм ?
6) Главное меню
сейчас при двойном щелчке на круглую иконку главного меню вызывается Close. Как заполнить это меню ?
7) Большая кнопка с выпадающим списком
добавил LargeButton. Нужно сделать большую стрелку под надписью с выпадающим списком. Причём список этот опять таки менять в рантайме
8) alClient компонент
Один из главных вопросов - какой компонент и какой иерархии использовать в рабочей области окна, который растянется на всю клиентскую область. По идее (по моему предположению) должен использоваться какой-то DevExpress компонент, который будет быстро и по законам красивого скининга перерисовываться. Я пока засунул DrawGrid (вообще мне табличка нужна). Но мне почему то кажется, надо избрать другой подход
------------------------------
в общем буду благодарен за оказание любой помощи
← →
Rouse_ © (2013-02-08 14:34) [1]1) Все окна в стиле Ribbon.
вспомогательные рибон не должны использовать
2) Всплывающее меню "More Сommands...".
В свойствах рибона снять галку dxRiddon->popupMenuItems->rpmiMoreCommands
3) Русификация.
Юнит dxBarStrs вытаскиваешь из исходников, переименовываешь строки и подключаешь к проекту. будет использоваться он.
Либо делаешь такой-же аналог который регистрируешь в TdxResourceStringsRepository
4) Caption.
Ты наверное с цветом табов путаешь
5) CheckBox, Checked.
EtytValue->Type = Boolean
cxBarEditItem1.EditValue := True;
cxBarEditItem1.EditValue := False;
6) Главное меню
Это обычное меню обычной формы, соответственно все делается так-же как и без рибона.
7) Большая кнопка с выпадающим списком
ButtonStyle = bsDropDown
DrobDownMenu = твое меню (TdxRibbonPopupMenu)
8) alClient компонент
Любой, у нас свой грид используется в одном случае, во втором свой редактор. Ты можешь что угодно использовать хоть TMemo. Вообще в демках посмотри, там все есть.
← →
DevilDevil © (2013-02-08 14:45) [2]> Rouse_ © (08.02.13 14:34) [1]
спасибо за развёрнутый ответ !
← →
Дмитрий С © (2013-02-08 15:20) [3]Не люблю DevExpress
← →
Дмитрий С © (2013-02-08 15:21) [4]Такое ощущение, что его русские делали (
← →
Rouse_ © (2013-02-08 15:22) [5]
> Дмитрий С © (08.02.13 15:21) [4]
> Такое ощущение, что его русские делали (
Ты не поверишь :)
← →
Eraser © (2013-02-08 16:30) [6]
> Дмитрий С © (08.02.13 15:20) [3]
аналогов нет и близко. да и отличные компоненты по-моему.
← →
DevilDevil © (2013-02-08 17:12) [7]кому интересно, вопрос локализации решил так:
initialization
cxSetResourceString(@cxSCheckComboBoxEmptySelectionText, "<не выбрано>");
cxSetResourceString(@cxSDatePopupToday, "Сегодня");
cxSetResourceString(@cxSDatePopupClear, "Стереть");
> Eraser © (08.02.13 16:30) [6]
но меня удивляет размер exe
3.6Мб простенькое приложение с рибоном и несколькими кнопками
если дело в скинах - то их мне кажется вполне могли хранить упакованными
да и вообще перестроить архитектуру, чтобы не занимали столько места
← →
Kerk © (2013-02-08 17:18) [8]А в чем проблема? На дискету не помещается? :)
← →
Eraser © (2013-02-08 17:21) [9]
> DevilDevil © (08.02.13 17:12) [7]
> 3.6Мб простенькое приложение с рибоном и несколькими кнопками
2.17 Мб пустой, только что созданный проект.
если смущает размер - не используй VCL.
> если дело в скинах - то их мне кажется вполне могли хранить
> упакованными
> да и вообще перестроить архитектуру, чтобы не занимали столько
> места
для этого есть инсталляторы со встроенным сжатием.
← →
DevilDevil © (2013-02-08 17:30) [10]мы работаем на Пентиумах 4
лишние 3 мегабайта exe = лишней секунде загрузки и двум лишним секундам компиляции (сборки)
меня как оптимизатора по натуре смущает такое фривольное отношение к секундам пользователя
← →
Макс Черных (2013-02-08 17:44) [11]
> Принято ли использовать Ribbon-style в остальных окнах.
Не надо путать Ribbon-style и ленту как таковую. Это разные вещи. "Остальные" окна обычно не делаются как подобия главной формы. Хотя саму ленту могут иметь запросто.
> Мол название продукта одним цветом, а имя документа - другим.
> Вопрос. Как это сделать ?
Вопрос - а зачем? DevExpress не содержит такого функционала.
> сейчас при двойном щелчке на круглую иконку главного меню
> вызывается Close. Как заполнить это меню ?
Смотреть в сторону свойства ApplicationButton у риббона.
> Нужно сделать большую стрелку под надписью с выпадающим
> списком. Причём список этот опять таки менять в рантайме
Или как Rouse_ написал, или смотреть TdxBarSubItem. Смотря на то, какой именно фунционал нужен.
> но меня удивляет размер exe
> 3.6Мб простенькое приложение с рибоном и несколькими кнопками
По умолчанию, DevExpress пихает в uses все доступные скины. Из которых на практике нужны 3-4. Для управления этим безобразием Dx встаивает в IDE команду project -> modify skin options.
Нормальный (т.е. легальный) инсталлятор содержит вполне пристойный help и кучу неплохих примеров. Хотя всякие тонкости и хитрости там не сильно раскрыты, но их есть много на http://www.devexpress.com/Support/Center/
← →
Дмитрий С © (2013-02-08 17:44) [12]
> аналогов нет и близко. да и отличные компоненты по-моему.
аналогов нет, альтернатива есть - не использовать их.
← →
DevilDevil © (2013-02-08 17:55) [13]> Макс Черных (08.02.13 17:44) [11]
> Не надо путать Ribbon-style и ленту как таковую. Это разные вещи.
да это я понимаю
просто обычные окна на мой взгляд не смотрятся на фоне Ribbon-style окон
> Вопрос - а зачем? DevExpress не содержит такого функционала.
вот второй рисунок: http://www.vr-online.ru/content/ribbon-v-delphi-975
> Для управления этим безобразием Dx встаивает в IDE команду
> project -> modify skin options.
а как этим пользоваться ?
я вроде вообще всё убрал, нажал Ok, перебилдил, а exe всёравно меньше не стало
по сути мне нужны рибоны стиля 2007
← →
Eraser © (2013-02-08 17:57) [14]
> Дмитрий С © (08.02.13 17:44) [12]
для ribbon альтернативы нет, все аналоги для делфи кривые.
не использовать ribbon? ну если пойти дальше, то можно не использовать делфи, не программировать вообще )
← →
Rouse_ © (2013-02-08 18:24) [15]
> Rouse_ © (08.02.13 14:34) [1]
> 6) Главное меню
> Это обычное меню обычной формы, соответственно все делается
> так-же как и без рибона.
Здесь я перепутал. Речь шла о обычном меню в том контексте что двойной клик по данной кнопке вызывает дефолтное действие стандартного меню.
А чтобы добавить выпадающее меню к данной кнопке, используется ApplicationMenu для стиля 2007-го офиса или BackStage для стиля 2010-го офиса.
> просто обычные окна на мой взгляд не смотрятся на фоне Ribbon-
> style окон
у ворда смотрятся, почему-бы и у тебя не смотрелось?
> а как этим пользоваться ?
> я вроде вообще всё убрал, нажал Ok, перебилдил, а exe всёравно
> меньше не стало
> по сути мне нужны рибоны стиля 2007
ну вообще по логике ты сделал все правильно, но обычно это мало помогает, у девок и так объем кода солидный, а компилится он из-за перекрестных взаимосвязей практически целиком, отсюда и размер.
← →
Макс Черных (2013-02-08 18:26) [16]
> просто обычные окна на мой взгляд не смотрятся на фоне Ribbon-
> style окон
Нормально они смотрятся. Тот же MS Office посмотри. Но тем не менее, есть ведь темы самой винды, да и Dx содержит целый пучок НЕ-риббон контролов поддерживающих ихние же скины. Те же кнопки, например. Более того, Dx писали русские, а не индусы. И несмотря на то, что глюков и чудес там тоже предостаточно, но сама идеология очень неплохая. Скажем, все отрисовщики красивостей есть классы-пайнтеры, и им по барабану где рисовать. Т.е. можно их заставить рисовать где угодно, в своих компонентах, к примеру.
> а как этим пользоваться ?
> я вроде вообще всё убрал, нажал Ok, перебилдил, а exe всёравно
> меньше не стало
Тут все стандартно. Как и для любых других компонентов, Delphi умеет сама добавлять в Uses чего надо, но не умеет убирать. Т.е. тебе нужно вручную убрать из секции Uses своих форм все неиспользуемые скины.
> вот второй рисунок: http://www.vr-online.ru/content/ribbon-
> v-delphi-975
Отрисовать вручную можно что угодно и где угодно. В Dx я такой цветомузыки как стандартной фичи не видел. Хотя и не искал специально, может и ошибаюсь на сей счет. НО ИМХО это нахрен не надо.
И, кстати, насчет ссылки - не читайте вы всякую голиматью детьми пописанную. :)
← →
Rouse_ © (2013-02-08 18:29) [17]
> Макс Черных (08.02.13 18:26) [16]
> И, кстати, насчет ссылки - не читайте вы всякую голиматью
> детьми пописанную. :)
Кстати это дельный совет.
Может реально обзорку накатать подробную по Риббону?
Правда объем достаточно солидный получится (как обычно).
← →
Дмитрий С © (2013-02-08 18:36) [18]
> не использовать ribbon?
Ну риббон есть и стандартный.
← →
Rouse_ © (2013-02-08 18:54) [19]
> Дмитрий С © (08.02.13 18:36) [18]
> Ну риббон есть и стандартный.
Можно сказать что стандартного нет.
← →
Дмитрий С © (2013-02-09 00:12) [20]А чем тот что с дельфи идет не риббон?
← →
Rouse_ © (2013-02-09 00:18) [21]
> Дмитрий С © (09.02.13 00:12) [20]
> А чем тот что с дельфи идет не риббон?
А ты его пробовал?
← →
Дмитрий С © (2013-02-09 00:28) [22]
> А ты его пробовал?
Да, поэтому и говорю. Рибон как рибон.
← →
Rouse_ © (2013-02-09 00:30) [23]
> Дмитрий С © (09.02.13 00:28) [22]
>
> > А ты его пробовал?
>
> Да, поэтому и говорю. Рибон как рибон.
Мндя, ну ок. Давай я тебе скомпиленную демку от DevExpress пришлю, а ты мне ее в виде сорса но на стандартном дельфийском риббоне повторишь? :)
← →
Дмитрий С © (2013-02-09 00:40) [24]Что то даже пробовать не хочется :)
← →
Rouse_ © (2013-02-09 00:40) [25]:)
← →
Eraser © (2013-02-09 05:10) [26]кстати, в DevExp весьма неплохой саппорт, в частности по риббону им писал несколько довольно серьезных замечаний - поправили.
← →
Rouse_ © (2013-02-09 18:24) [27]Решил таки писать обзорку :)
http://rouse-debug.blogspot.ru/2013/02/demo-ribbon-devexpress.html
Интересно смогу ли за месяц и ее, и статью по LUA сделать? ...
← →
Rouse_ © (2013-02-09 18:26) [28]ЗЫ: только надо дождаться ответа от ребят из DevExpress, смогу ли я публиковать часть их кода пайнтеров, ибо одна из глав будет реализация кастом контрола (кнопки) и использованием их отрисовщиков.
← →
DevilDevil © (2013-02-09 19:54) [29]> Rouse_ © (09.02.13 18:24) [27]
я думаю будет интересно почитать!
← →
DevilDevil © (2013-02-09 19:54) [30]но всё таки на хабре тебе надо публиковаться
имхо
← →
Rouse_ © (2013-02-09 20:33) [31]
> DevilDevil © (09.02.13 19:54) [30]
> но всё таки на хабре тебе надо публиковаться
Ни в коем разе. Это принципиально.
ЗЫ: Кстати звиняй если по причине этой статьи задержу обещанную обзорку по LUA, но я постараюсь успеть.
← →
DevilDevil © (2013-02-09 21:22) [32]> Rouse_ © (09.02.13 20:33) [31]
мне тоже тяжело противодействовать себе когда посещает навязчивая идея )
так что твори
тем более вещь полезная
← →
Kerk © (2013-02-09 21:41) [33]
> Rouse_ © (09.02.13 18:26) [28]
>
> ибо одна из глав будет реализация кастом контрола (кнопки) и использованием
> их отрисовщиков.
Мне надо в TcxPageControl (или он TabControl?) рисовать иконку не слева, а справа от заголовка вкладки. В старых версиях DX оно у меня работало, но после обновления что-то сломалось. Так что давай, жги :)
← →
Rouse_ © (2013-02-09 21:51) [34]
> DevilDevil © (09.02.13 21:22) [32]
Договорились :)
> Kerk © (09.02.13 21:41) [33]
Что-то такое было, надо по коду глянуть. Кстати если что я буду описывать только самый последний релиз девок. У них с пайнтерами постоянный пляски вплоть до брокен-кода (правда последние 4 релиза вроде устаканилось, мошт договорились они? :)
← →
Rouse_ © (2013-02-26 22:36) [35]Как обещал :)
http://alexander-bagel.blogspot.ru/2013/02/ribbon-devexpress.html
← →
DevilDevil © (2013-02-27 10:59) [36]я читал и ещё раз повторю
замечательная статья !
супер
← →
Eraser © (2013-02-27 11:26) [37]
> Rouse_ © (26.02.13 22:36) [35]
отличная статья, только пиар делфи 7 меня лично напрягает )
← →
DevilDevil © (2013-02-27 11:29) [38]> отличная статья, только пиар делфи 7 меня лично напрягает )
я тут поустанавливал Delphi 2009 и XE3
меня лично напрягает тормознутость компиляции с окошком о ходе событий и ацкий размер exe (XE3)
хотя редактор кода лучше
← →
Rouse_ © (2013-02-27 11:46) [39]
> Eraser © (27.02.13 11:26) [37]
>
> > Rouse_ © (26.02.13 22:36) [35]
>
> отличная статья, только пиар делфи 7 меня лично напрягает
> )
Да у меня у 2010-ой уже установок не осталось, а у ХЕ3 только одна еще есть.
Не охота вызванивать эмбаркадеру и иметь тягомотину с предоставлением еще пару тройки активаций, поэтому дома одна семерки и стоит лицензионная, а статьи то я дома ваяю :)
← →
Andy BitOff © (2013-02-27 14:19) [40]Глава 2.1
Проблема в том, что данное меню не является наследником от TPopupMenu и просто так его назначить форме или любому другому элементу управления (конечно за исключением компонентов от DevExpress) не получится.
Это не совсем так. У БарМанагера есть PopupMenuLinks: TdxBarPopupMenuLinks который позволяет прицепить Девковское меню к любому контролу.
Почитаем дальше ;)
Страницы: 1 2 вся ветка
Форум: "Прочее";
Текущий архив: 2013.09.29;
Скачать: [xml.tar.bz2];
Память: 0.57 MB
Время: 0.004 c