Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 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.003 c
15-1366016419
p
2013-04-15 13:00
2013.09.29
Реклама на сайте


15-1366453079
Фантазер
2013-04-20 14:17
2013.09.29
Ищу фант.рассказ


15-1366196955
O'ShinW
2013-04-17 15:09
2013.09.29
Data Mining/Поиск непойми чего в неизвестных таблицах, столбцах


15-1366230602
Юрий
2013-04-18 00:30
2013.09.29
С днем рождения ! 18 апреля 2013 четверг


2-1358233902
Celtic
2013-01-15 11:11
2013.09.29
груповое изменение полей записей





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский