подскажите как сделать табы как firefox\iexplore.. те чтобы кнопки закрытия были на каждом табе? у PageControl только одна кнопка закрытия, хотелось бы использовать DockPanel, но там приходится показывать Caption, чего не хотелось бы.
» Использование DevExpress (часть 3)
neznayka3
Использовать другой PageControl либо самому рисовать кнопку в нужном месте таба.
Этот функционал принят в разработку, но еще не реализован.
Использовать другой PageControl либо самому рисовать кнопку в нужном месте таба.
Этот функционал принят в разработку, но еще не реализован.
help me please
convert DXDbgrid to Cxgrid
{$R *.DFM}
type
TmyDBGrid = class(TdxDBGrid);
[..]
R := TmyDBGrid(dxDBGrid1).GetRectNode(dxDBGrid1.FocusedNode);
DxDbButtonEditCodice.Visible := False;
DxDbButtonEditDesc.Visible := False;
DxDbCurrencyEditImpo.Visible := False;
DxDbPickEditDav.Visible := False;
DxDbDateEditOpera.Visible := False;
DxDbEditDesAgg.Visible := False;
RigoTop := 28 + R.Top;
DxDbButtonEditCodice.Top := RigoTop;
DxDbButtonEditDesc.Top := RigoTop;
DxDbCurrencyEditImpo.Top := RigoTop;
DxDbPickEditDav.Top := RigoTop;
DxDbDateEditOpera.Top := RigoTop;
DxDbEditDesAgg.Top := RigoTop;
[..]
please
convert DXDbgrid to Cxgrid
{$R *.DFM}
type
TmyDBGrid = class(TdxDBGrid);
[..]
R := TmyDBGrid(dxDBGrid1).GetRectNode(dxDBGrid1.FocusedNode);
DxDbButtonEditCodice.Visible := False;
DxDbButtonEditDesc.Visible := False;
DxDbCurrencyEditImpo.Visible := False;
DxDbPickEditDav.Visible := False;
DxDbDateEditOpera.Visible := False;
DxDbEditDesAgg.Visible := False;
RigoTop := 28 + R.Top;
DxDbButtonEditCodice.Top := RigoTop;
DxDbButtonEditDesc.Top := RigoTop;
DxDbCurrencyEditImpo.Top := RigoTop;
DxDbPickEditDav.Top := RigoTop;
DxDbDateEditOpera.Top := RigoTop;
DxDbEditDesAgg.Top := RigoTop;
[..]
please
Dimrix
Можно при выборке из БД возвращать лишнее поле, тогда SmartRefresh := False можно оставить, что мне кажется более удобным.
Можно при выборке из БД возвращать лишнее поле, тогда SmartRefresh := False можно оставить, что мне кажется более удобным.
Цитата:
Dimrix
читаем в хелпе как добавить Unbound column в TcxDBGridTableView. Можно прочитать здесь
Спасибо, помогло. НО!!! В статье не указан один параметр, без которого вываливается ошибка обновления данных:
Query.ReadOnly:=False,
где Query - ваш компонент с SQL-запросом
Meister Floh
Цитата:
Млин, совсем забыл отписаться, что порешал траблу Проблема не в LMD, т.к. таковых нет.
А траблу порешал следующим способом: просто снес начисто девок (реестр почистил, хотя, для чистоты эксперимента не нужно было), а затем поставил. Всё исправилось.
И такое у меня ощущение, что не баг это компонент... Баг это, похоже, самого CG. По-любасу идёт преобразование в бмп, а вот чем (какой функцией из какого модуля) -- это вопрос... Так вот, похоже, проблема в порядке поиска модулей... Не знаю... Но переустановка помогла.
Добавлено:
У меня вот другая проблема:
Какой из TdxBarItem использовать в Ribbon'сах, чтобы получилось следующее: Кнопка типа SubItems, но работает как LookUp на основною кнопку, т.е. какой режим выбираешь последним из выпадающего списка, такой и будет запускаться по основной кнопке. Она (кнопка) ещё так разделена горизонтальной линией. По типу, как "Опубликовать" в Help&Manual v.5. Вот на скрине, например:
Цитата:
Господа, кому интересно, а так же специально для ZalivkoDenis - решил проблему с png изображениями в ApplicationButton (а скорее всего и в cxButton) - описанную мною тут и тут... Вся проблема была в LMD, которые снес за ненадобностью из-за проблеммы описаной мною вот тут - и все сразу просто и тривиально заработало.. Глубже копать не стал, но стало очевидным, что проблемма именно в них (LMD - ).. Может написать в Девочек, чтоб знали
Млин, совсем забыл отписаться, что порешал траблу Проблема не в LMD, т.к. таковых нет.
А траблу порешал следующим способом: просто снес начисто девок (реестр почистил, хотя, для чистоты эксперимента не нужно было), а затем поставил. Всё исправилось.
И такое у меня ощущение, что не баг это компонент... Баг это, похоже, самого CG. По-любасу идёт преобразование в бмп, а вот чем (какой функцией из какого модуля) -- это вопрос... Так вот, похоже, проблема в порядке поиска модулей... Не знаю... Но переустановка помогла.
Добавлено:
У меня вот другая проблема:
Какой из TdxBarItem использовать в Ribbon'сах, чтобы получилось следующее: Кнопка типа SubItems, но работает как LookUp на основною кнопку, т.е. какой режим выбираешь последним из выпадающего списка, такой и будет запускаться по основной кнопке. Она (кнопка) ещё так разделена горизонтальной линией. По типу, как "Опубликовать" в Help&Manual v.5. Вот на скрине, например:
ZalivkoDenis
Цитата:
Повторюсь. Дело не в CG и не в DevExpress, а в порядке установки компонент и, соответственно, в том, какой из пакетов компонент первым (или последним - точно не знаю и знать не хочу) регистрирует графический формат PNG. Если это делает DevExpress, то с PNG все в порядке, если кто-то другой, то - нет. Переустановка DevExpress как раз и приводит к смене порядка регистрации формата PNG.
Цитата:
просто снес начисто девок (реестр почистил, хотя, для чистоты эксперимента не нужно было), а затем поставил. Всё исправилось.
Повторюсь. Дело не в CG и не в DevExpress, а в порядке установки компонент и, соответственно, в том, какой из пакетов компонент первым (или последним - точно не знаю и знать не хочу) регистрирует графический формат PNG. Если это делает DevExpress, то с PNG все в порядке, если кто-то другой, то - нет. Переустановка DevExpress как раз и приводит к смене порядка регистрации формата PNG.
xokc
Цитата:
Имемнно это я и хотел сказать Спасибо, что повторились. Иммено по.тому я и переставлял их, потому как не помогло не изменение в порядке следования путей поиска, ни... Ну да ладно Самый простой способ (универсальный для всех ) -- переставить.
А по пред. посту не можете ничего посоветовать?
Спасибо.
Цитата:
Переустановка DevExpress как раз и приводит к смене порядка регистрации формата PNG.
Имемнно это я и хотел сказать Спасибо, что повторились. Иммено по.тому я и переставлял их, потому как не помогло не изменение в порядке следования путей поиска, ни... Ну да ладно Самый простой способ (универсальный для всех ) -- переставить.
А по пред. посту не можете ничего посоветовать?
Спасибо.
ZalivkoDenis
Похоже в твоем случае помогла переустановка и действительно имел смысл порядок установки.. В моем случае это не помогало!!!
Теперь по поводу твоего вопроса... Как мне кажется в том примере, что ты показал используется - TdxRibbonGalleryItem
Похоже в твоем случае помогла переустановка и действительно имел смысл порядок установки.. В моем случае это не помогало!!!
Теперь по поводу твоего вопроса... Как мне кажется в том примере, что ты показал используется - TdxRibbonGalleryItem
ZalivkoDenis
Цитата:
Используется TdxBarLargeButton с установленными свойствами
property ButtonStyle: TdxBarButtonStyle = bsDropDown;
property property DropDownEnabled: Boolean = True;
property DropDownMenu: TdxBarPopupMenu;
Цитата:
Для такого функционала необходима дополнительная обработка - переопределение обработчиков событий и имеждей для TdxBarItem из DropDownMenu.
Цитата:
Горизонтальная линия визуализируется при наведении курсора.
Meister Floh
Цитата:
Нет, TdxRibbonGalleryItem это немного другое...
Цитата:
У меня вот другая проблема:
Какой из TdxBarItem использовать в Ribbon'сах
Используется TdxBarLargeButton с установленными свойствами
property ButtonStyle: TdxBarButtonStyle = bsDropDown;
property property DropDownEnabled: Boolean = True;
property DropDownMenu: TdxBarPopupMenu;
Цитата:
какой режим выбираешь последним из выпадающего списка, такой и будет запускаться по основной кнопке
Для такого функционала необходима дополнительная обработка - переопределение обработчиков событий и имеждей для TdxBarItem из DropDownMenu.
Цитата:
Она (кнопка) ещё так разделена горизонтальной линией
Горизонтальная линия визуализируется при наведении курсора.
Meister Floh
Цитата:
Как мне кажется в том примере, что ты показал используется - TdxRibbonGalleryItem
Нет, TdxRibbonGalleryItem это немного другое...
vladman
СПАСИБО!!! Суперррр! Никогда бы не догадался! Пытался сделать уже как год, наверное. Спросил у Вас совершенно случайно!!! ОГРОМНОЕ СПАСИБО за помощь! (Только вместо TdxBarPopupMenu использовал TdxRibbonPopupMenu -- типа, нативней ) Большое спасибо ещё раз за помощь!
P.S. Даже про обработку сказали Для меня это немножко лишнее, но для других будет полезно
СПАСИБО!!! Суперррр! Никогда бы не догадался! Пытался сделать уже как год, наверное. Спросил у Вас совершенно случайно!!! ОГРОМНОЕ СПАСИБО за помощь! (Только вместо TdxBarPopupMenu использовал TdxRibbonPopupMenu -- типа, нативней ) Большое спасибо ещё раз за помощь!
P.S. Даже про обработку сказали Для меня это немножко лишнее, но для других будет полезно
vladman
Цитата:
спасибо, я забыл об этом компоненте.
Цитата:
без временных датасетов достаточно просто может и не получиться. Но вот набросал пример с использованием dxMenData, может подойдет.
спасибо, я забыл об этом компоненте.
ZalivkoDenis
duce2
Не стоит, правда, рад что решение оказалось полезным.
duce2
Не стоит, правда, рад что решение оказалось полезным.
пишу приложение с интерфейсом аля Delphi 2009, использую DockPanel. если все докпанели находятся на одной форме, то получается большая нагромажденность, к тому же для каждой док панели существует датамодуль, где написана вся логика. как луче все это организовать? создавать формы с парой докпанелями+дата модуль?
главных форм >10 дата модулей столько же.
главных форм >10 дата модулей столько же.
Прошу помощи в следуюющем.
Есть форма:
Хочу изменить ее вид на:
То-есть, хочу чтобы вид формы изменился (основное требование - нужна большая кнопка с изображением). Делаю следующим образом.
1. На форму кидаю TdxRibbon.
2. Прописываю табы с, соотвествующими с TcxPageControl, именами.
3. Прописываю действие на OnTabChanged (dxRibbon), чтобы открывалась соответсвующая страница с PageControl.
4. Табы с PageControl прячу.
Вроде все нормально и работает, но есть несколько моментов. Если кликнуть двойным кликом на новом табе, то он начинает раскрывать групу. Она пустая и ненужная, но раскрывается. Очень малая вероятность того, что простой пользватель будет так нажимать, но все же.
Изменения свойства
ShowTabGroups
не помогает.
Вопрос. Как сделать, чтобы при двойном клике на табе DxRibbon не было лишних визуализаций? То-есть, чтобы поведение DxRibbon, в данном контексте, было аналогично cxPageControl. Можно ли заменить двойной клик, на одинарный?
Может, посоветуете другую реализацию?
Спасибо!
Есть форма:
Хочу изменить ее вид на:
То-есть, хочу чтобы вид формы изменился (основное требование - нужна большая кнопка с изображением). Делаю следующим образом.
1. На форму кидаю TdxRibbon.
2. Прописываю табы с, соотвествующими с TcxPageControl, именами.
3. Прописываю действие на OnTabChanged (dxRibbon), чтобы открывалась соответсвующая страница с PageControl.
4. Табы с PageControl прячу.
Вроде все нормально и работает, но есть несколько моментов. Если кликнуть двойным кликом на новом табе, то он начинает раскрывать групу. Она пустая и ненужная, но раскрывается. Очень малая вероятность того, что простой пользватель будет так нажимать, но все же.
Изменения свойства
ShowTabGroups
не помогает.
Вопрос. Как сделать, чтобы при двойном клике на табе DxRibbon не было лишних визуализаций? То-есть, чтобы поведение DxRibbon, в данном контексте, было аналогично cxPageControl. Можно ли заменить двойной клик, на одинарный?
Может, посоветуете другую реализацию?
Спасибо!
VitOs2
Цитата:
_http://www.devexpress.com/Support/Center/p/Q107376.aspx
Цитата:
Вопрос. Как сделать, чтобы при двойном клике на табе DxRibbon не было лишних визуализаций?
_http://www.devexpress.com/Support/Center/p/Q107376.aspx
vladman
Спасибо большое! Это как раз по моему вопросу. Но!
У меня есть еще и главная форма, где стандартное поведение необходимо!
Поэтому, нельзя перекомпиливать компоненты...
Может, просто как-то отловить двойной клик и обработать его как одинарный?
Сейчас поищу в инете, как это делается...
Проблему решил.
Добавил на форму ApplicationEvents1, а в обработчике OnMessage написал:
if msg.hwnd = dxRibbon1.Handle then
if msg.message = WM_LBUTTONDBLCLK then { двойной щелчек}
begin
msg.message := 0;
Exit;
end;
Конечно, не нравится, что еще один дополнительный компонен на форме, но, пока так.
Если кто что посоветует оптимальние, буду благодарен!
Всем спасибо!
Спасибо большое! Это как раз по моему вопросу. Но!
У меня есть еще и главная форма, где стандартное поведение необходимо!
Поэтому, нельзя перекомпиливать компоненты...
Может, просто как-то отловить двойной клик и обработать его как одинарный?
Сейчас поищу в инете, как это делается...
Проблему решил.
Добавил на форму ApplicationEvents1, а в обработчике OnMessage написал:
if msg.hwnd = dxRibbon1.Handle then
if msg.message = WM_LBUTTONDBLCLK then { двойной щелчек}
begin
msg.message := 0;
Exit;
end;
Конечно, не нравится, что еще один дополнительный компонен на форме, но, пока так.
Если кто что посоветует оптимальние, буду благодарен!
Всем спасибо!
vladman или ВСЕ
А может подскажете как в рибоне в DropDown кнопочке вставить окошко с мемо-полем изменяемого размера, мультстринг понятно.. Потому как если вставить cxMemo - его высоту поменять не могу
А может подскажете как в рибоне в DropDown кнопочке вставить окошко с мемо-полем изменяемого размера, мультстринг понятно.. Потому как если вставить cxMemo - его высоту поменять не могу
Meister Floh
Вместо кнопочки c DropDown использовать cxEditItem вместе с TcxPopupEdit и TcxMemo
Вместо кнопочки c DropDown использовать cxEditItem вместе с TcxPopupEdit и TcxMemo
xokc
Всмысле - или TcxPopupEdit или TcxMemo?
Всмысле - или TcxPopupEdit или TcxMemo?
Meister Floh
Цитата:
Можно попробовать с TdxBarControlContainerItem, но не совсем понятно кто/что будет этот размер изменять? DesignTime/runTime? Да и, в принципе, непонятна необходимость Memo в DropDown меню. Пользователь будет в это Memo что-то вносить или копировать из него? либо в Memo будет статичный текст?
Цитата:
с мемо-полем изменяемого размера
Можно попробовать с TdxBarControlContainerItem, но не совсем понятно кто/что будет этот размер изменять? DesignTime/runTime? Да и, в принципе, непонятна необходимость Memo в DropDown меню. Пользователь будет в это Memo что-то вносить или копировать из него? либо в Memo будет статичный текст?
vladman
Грубо говоря в мемо будет вносится структура БД типа:
Код:
CREATE TABLE SysData (
DBVerDate DATE,
DBVersion VARCHAR(20),
DBStruct FORMATTEDMEMO,
UNIQUE INDEX DBVerDate (DBVerDate)
);
INSERT INTO SysData values ('2009-05-06', '1.0.0.1', MimeToBin('QwBSAEUAQQBUAEUAIABUAEEAQgBMAEUAIABUAGUAYwBoAFQAcgBlAGUAIAAoAA0ACgAgACAASQBEAFQAZQBjA
AoAIAAgAFQAZQBjAGgATgBhAG0AZQAgAFYAQQBSAEMASABBAFIAKAA1ADAAKQAsACAADQAKACAAIABQAFIASQBNAEEAUgBZ
ACAASwBFAFkAIABJAEQAVABlAGMAaAAgACgASQBEAFQAZQBjAGgAKQAsACAADQAKACAAIABJAE4ARABFAFgAIABJAEQAVABl
и т. д.='));
Грубо говоря в мемо будет вносится структура БД типа:
Код:
CREATE TABLE SysData (
DBVerDate DATE,
DBVersion VARCHAR(20),
DBStruct FORMATTEDMEMO,
UNIQUE INDEX DBVerDate (DBVerDate)
);
INSERT INTO SysData values ('2009-05-06', '1.0.0.1', MimeToBin('QwBSAEUAQQBUAEUAIABUAEEAQgBMAEUAIABUAGUAYwBoAFQAcgBlAGUAIAAoAA0ACgAgACAASQBEAFQAZQBjA
AoAIAAgAFQAZQBjAGgATgBhAG0AZQAgAFYAQQBSAEMASABBAFIAKAA1ADAAKQAsACAADQAKACAAIABQAFIASQBNAEEAUgBZ
ACAASwBFAFkAIABJAEQAVABlAGMAaAAgACgASQBEAFQAZQBjAGgAKQAsACAADQAKACAAIABJAE4ARABFAFgAIABJAEQAVABl
и т. д.='));
Meister Floh
Цитата:
И что пользователь с этим должен уметь сделать?
Цитата:
Грубо говоря в мемо будет вносится структура БД типа:
И что пользователь с этим должен уметь сделать?
vladman
Это не пользователь, а администратор... Ну такой не совсем администратор, который, может и ручками БД сотворить, а такой.. несколько недоделаный..
Для пользователя несколько другая часть приложения, которая, почти готова.. Кроме того, даже пользователь может внести в memo, то, что ему прислали на мыло..
Это не пользователь, а администратор... Ну такой не совсем администратор, который, может и ручками БД сотворить, а такой.. несколько недоделаный..
Для пользователя несколько другая часть приложения, которая, почти готова.. Кроме того, даже пользователь может внести в memo, то, что ему прислали на мыло..
Meister Floh
OK ну он все же пользователь Вашего продукта (софта) Так вот, вопрос был в том, что он (пользователь, полуадминистратор, не важно) должен уметь (читай способен) сделать (View, Edit, Copy, Paste, Select...) с содержимым этого Memo в DropDownMenu Вашей кнопки?
OK ну он все же пользователь Вашего продукта (софта) Так вот, вопрос был в том, что он (пользователь, полуадминистратор, не важно) должен уметь (читай способен) сделать (View, Edit, Copy, Paste, Select...) с содержимым этого Memo в DropDownMenu Вашей кнопки?
Интересно, неуж-то так тяжело было написать компонент, с вываливающейся мемо-панелью, типа как какой-нить дневник.. С двумя (по выбору) скрол-барами... Глупость какая-то.. ведь должно где-то быть..
Добавлено:
vladman
Грубо говоря удалить содержимое и вставить новое..
Никогда не мог подумать, что уткнусь в такую мелочь.. Даже проблему с обращением к переменной, имя которой содержится в строке, как-то криво но обошел..
Добавлено:
vladman
Грубо говоря удалить содержимое и вставить новое..
Никогда не мог подумать, что уткнусь в такую мелочь.. Даже проблему с обращением к переменной, имя которой содержится в строке, как-то криво но обошел..
Meister Floh
Цитата:
Цитата:
Ну теперь более понятно назначение сего Memo.
Реализация есть, и, причем, стандартная, т.е. компонент, собственно, и написан уже, только собрать нужно немного
Используем cxEditItem PopupEdit, и в качестве свойства PopupControl этого PopupEdit указываем ваш настроенный на нужное количество "(по выбору) скрол-баров".
Цитата:
компонент, с вываливающейся мемо-панелью
Цитата:
Грубо говоря удалить содержимое и вставить новое..
Ну теперь более понятно назначение сего Memo.
Реализация есть, и, причем, стандартная, т.е. компонент, собственно, и написан уже, только собрать нужно немного
Используем cxEditItem PopupEdit, и в качестве свойства PopupControl этого PopupEdit указываем ваш настроенный на нужное количество "(по выбору) скрол-баров".
VitOs2
По мне так вам достаточно использовать PageControl с каким нибудь скином, ведь по сути урезаете 99% функциональности Риббона, а используете только Закладки и Большую красивую иконку.
По мне так вам достаточно использовать PageControl с каким нибудь скином, ведь по сути урезаете 99% функциональности Риббона, а используете только Закладки и Большую красивую иконку.
vladman
Во!!! Оно спасибо!!!! А то вчера уже просто аж нервы сдавать начали...
Во!!! Оно спасибо!!!! А то вчера уже просто аж нервы сдавать начали...
Meister Floh
Честно говоря, даже предположить не мог, что ты не посмотрел в сторону PopupEdit. Хорошо, у vladman терпения хватило все повыспросить
Честно говоря, даже предположить не мог, что ты не посмотрел в сторону PopupEdit. Хорошо, у vladman терпения хватило все повыспросить
Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
Предыдущая тема: Delphi: tcp клиент в потоке
Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.