Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2013.09.29;
Скачать: CL | DM;

Вниз

Много вопросов по 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;
Скачать: CL | DM;

Наверх




Память: 0.59 MB
Время: 0.008 c
8-1233162496
Agent[007]
2009-01-28 20:08
2013.09.29
Работа с Mesh, DirectX


2-1357913717
Guest123
2013-01-11 18:15
2013.09.29
Проектирование БД


15-1366093232
Y-
2013-04-16 10:20
2013.09.29
Какой самый лучши процессор у Intel?


2-1358138194
yaproq
2013-01-14 08:36
2013.09.29
Помогите ускорить скорость перемещения "курсора".


8-1231067653
Lamer6666
2009-01-04 14:14
2013.09.29
Интерактивная карта