Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Использование DevExpress (часть 3)

Модерирует : ShIvADeSt

ShIvADeSt (31-12-2009 04:49): Продолжаем тут http://forum.ru-board.com/topic.cgi?forum=33&topic=10884  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121

   

golkanavt



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
DevExpress

Обмен опытом, обсуждение нюансов и решение проблем возникающих при использовании библиотеки компонент Developer Express




 
Сами прирученные компоненты частенько приходят на водопой сюда
 
DLL со скинами из библиотеки dxSkins, автор Ziltoid Подробнее... линк обновлен
Продолжение, Первая часть, вторая часть

Всего записей: 1069 | Зарегистр. 08-04-2002 | Отправлено: 10:31 07-02-2009 | Исправлено: vladman, 14:36 24-10-2009
vladman

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Meister Floh

Цитата:
а вот какое свойство установить, чтобы при выборе было только описание..

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

Код:
procedure <YourForm>.<YourcxImageComboBox>PropertiesCloseUp(Sender: TObject);
var
  i: Integer;
begin
  TcxImageComboBox(Sender).Properties.ImageAlign := iaRight;
  for i := 0 to TcxImageComboBox(Sender).Properties.Items.Count - 1 do
    TcxImageComboBox(Sender).Properties.Items[i].ImageIndex := -1
end;
 
procedure <YourForm>.<YourcxImageComboBox>PropertiesInitPopup(Sender: TObject);
var
  i: Integer;
begin
  TcxImageComboBox(Sender).Properties.ImageAlign := iaLeft;
  for i := 0 to TcxImageComboBox(Sender).Properties.Items.Count - 1 do
    TcxImageComboBox(Sender).Properties.Items[i].ImageIndex := TcxImageComboBox(Sender).Properties.Items[i].Value;
end;

Нужно только не забыть присвоить Items соответствующие ImageIndex Value

Всего записей: 708 | Зарегистр. 13-11-2002 | Отправлено: 20:58 22-05-2009
Meister Floh



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vladman - и опять пребольшое спасибо!!!
А вот теперь все наверное скажут - парень афигел - Задача (если это вообще возможно): в рибонах нужна кнопка, по нажатию которой - открывалась бы панель, на которой было 2 кнопки и TcxListView Или все таки прийдется городить форму?

Всего записей: 393 | Зарегистр. 04-08-2003 | Отправлено: 23:13 22-05-2009
vladman

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Meister Floh

Цитата:
в рибонах нужна кнопка, по нажатию которой -...

Я же, вроде бы, уже писал что-то по похожему случаю.
Вот, даже Вам.

Цитата:
Используем cxEditItem PopupEdit, и в качестве свойства PopupControl этого PopupEdit указываем ваш настроенный на нужное количество "(по выбору) скрол-баров".

Вместо Memo рисуйте на панели все что душе угодно и указывайте ее (панель) в качестве свойства PopupControl этого PopupEdit.

Всего записей: 708 | Зарегистр. 13-11-2002 | Отправлено: 01:10 23-05-2009
Semeon555777

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Как отрисовать или скрыт одну из линий в ячейке грида?

Всего записей: 13 | Зарегистр. 07-01-2008 | Отправлено: 02:11 23-05-2009
vladman

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Semeon555777

Цитата:
Как отрисовать или скрыт одну из линий в ячейке грида?

Например:

Код:
procedure <YourForm>.<YourCustomGridTableViewCustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas;  AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
var
  vRect: TRect;
begin
  ADone := True;
  AViewInfo.EditViewInfo.Paint(ACanvas);
  vRect := AViewInfo.Bounds;
  ACanvas.FrameRect(vRect, clBlue , 2, [bTop, bBottom], False);
end;

А по поводу скрыть -  
Скрыть - это то же, что и нарисовать, только цвет линии должен совпадать с цветом фона.
 
Добавлено:
Semeon555777
Подозреваю, что, скорее всего, Вам нужно обратить внимание на свойство TcxGridColumn.Options.CellMerging

Всего записей: 708 | Зарегистр. 13-11-2002 | Отправлено: 02:57 23-05-2009
Meister Floh



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vladman - дык в прошлый раз так и сделал, а теперь бы хотелось кнопочку с картинкой (не мне, мне вобще бы хотелось послать того, кому хочется ),  а то пустой cxEditItem выглядит несколько не кошерно  Потому как, то, что на попуп контрол, можно поцепить, что только душе угодно я знаю, и это меня радовает Хотя если решу как в нем написать буковки (ну типа он (PopupControl) пустой или наполненный т. е. его состояние), которые нельзя будет редактировать (хотелось бы например нечто подобное панели поиска в Firefox или IE v8 - когда панель не заполнена, серыми буковками написано, что за поисковик будет использован) - то вполне возможно, что повторю пройденное
 
 
Добавлено:
Почти все решил, только вот теперь хочу, чтоб при клике по редактируемому полю сразу активировался Popup, не могу что-то найти событие которое нужно перехватывать, и какое нужно послать на открытие Popup...

Всего записей: 393 | Зарегистр. 04-08-2003 | Отправлено: 08:22 23-05-2009 | Исправлено: Meister Floh, 08:51 23-05-2009
Meister Floh



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вот если бы TcxBarEditItem имел свойство типа CanEdit, которому бы можно было присвоить false, но чтоб кнопка popup нажималась - я был бы просто счастлив... А так

Всего записей: 393 | Зарегистр. 04-08-2003 | Отправлено: 16:31 23-05-2009
Semeon555777

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Код:procedure <YourForm>.<YourCustomGridTableViewCustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas;  AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);  
var  
  vRect: TRect;  
begin  
  ADone := True;  
  AViewInfo.EditViewInfo.Paint(ACanvas);  
  vRect := AViewInfo.Bounds;  
  ACanvas.FrameRect(vRect, clBlue , 2, [bTop, bBottom], False);  
end;  

 
 а как ограничит на конкретный столбец
 
 
пардон, въехал

Всего записей: 13 | Зарегистр. 07-01-2008 | Отправлено: 17:58 23-05-2009 | Исправлено: Semeon555777, 00:39 24-05-2009
ZalivkoDenis



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
vladman, доброго времемни суток Вам и участникам форума.
vladman, я точно знаю, что Вы знаете Вопрос: Есть ли корректный способ (или хоть какой-нибудь), чтобы реализовать dxBarManager.Merge для MDI-приложения, использующего dxRibbon?
Я пробовал, но, во-первых, не совсем то получается, а во вторых -- как-то стремновато это работает (AV вылетает время от времени. Но AV уже и не важен, т.к. бары отображаются некорректно).  
Спасибо.
 

Всего записей: 537 | Зарегистр. 06-10-2005 | Отправлено: 00:50 24-05-2009
xokc

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ZalivkoDenis
А в чем особенность merge для MDI? Для SDI у меня замечательно мержилось.

Всего записей: 477 | Зарегистр. 22-09-2002 | Отправлено: 08:02 24-05-2009
neznayka3

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
xokc
Подскажите, как вы решили проблему с десятком DockPanel-ей? Сейчас для каждой создаю отдельную форму и связываю со своим датамодулем. Работает, но что мне такой подход не очень нравится.

Всего записей: 385 | Зарегистр. 07-06-2007 | Отправлено: 10:45 24-05-2009
xokc

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
neznayka3
А где я писал, что я решал
Цитата:
проблему с десятком DockPanel-ей
?

Всего записей: 477 | Зарегистр. 22-09-2002 | Отправлено: 14:51 24-05-2009
ZalivkoDenis



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
xokc

Цитата:
Для SDI у меня замечательно мержилось

Именно в приложении к Ribbon? Только я не совсум понимаю, что в SDI  можно мёржить?
Т.е. <Main>.<MainBarManager>.Merge(<ChildForm.<ChildBarMananger>). Я думал, что, если в ChildForm создать dxBarManager, добавить в него комманды, то мёргер должен как-то это корректно отобразить на Ribbon основной формы... Так вот нет... Не выходит .  
Читал Help по девам, выполнил то, что там написано (рекомендовано для MDI-приложений), не помогло. Я точно знаю, что делаю что-то неправильно .  
Если кто сталкивался -  помогите, плз. Пока я вышел из положения тем, что добавляю в главную форму ВСЕ комманды, а по мере вызова того или иного окна присваиваю свойству Visible соответсвтующие значения.

Всего записей: 537 | Зарегистр. 06-10-2005 | Отправлено: 20:58 24-05-2009
vladman

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ZalivkoDenis

Цитата:
vladman, я точно знаю, что Вы знаете

Ну сказать что знал - это не совсем верно, но попытался набросать примерчик. Надеюсь, что все верно понял и он (примерчик) Вам поможет.
 

Цитата:
Только я не совсум понимаю, что в SDI  можно мёржить?

то же самое что и в MDI . Например, реализуя интерфейс а-ля MSOutlook вы же не будете все режимы рисовать на одной форме. Скорее всего это будут отдельные формы со своими тулбарами. А при помещеннии этих отдельных форм на главную, и возникает необходимость меджить тулбары.
 
 
Добавлено:
Meister Floh

Цитата:
только вот теперь хочу, чтоб при клике по редактируемому полю сразу активировался Popup

Так вроде бы так и есть, активируется, если установлено свойство ImmediatePopup.

Цитата:
Вот если бы TcxBarEditItem имел свойство типа CanEdit

А чем ReadOnly не подходит?

Всего записей: 708 | Зарегистр. 13-11-2002 | Отправлено: 01:57 25-05-2009
Meister Floh



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vladman
СПАСИБО!!  

Цитата:
Так вроде бы так и есть, активируется, если установлено свойство ImmediatePopup.  
- это решил!

Цитата:
А чем ReadOnly не подходит?
- а это решил в обработчике OnEditValueChanged..
 
Господа! Как всегда когда уже все работает и красиво, решил добавить ПрогрессБар, нарисовал форму, на которой только ПрогрессБар, теперь вот не могу понять, как сделать так, чтобы вывести эту форму модально, передавать Позишен из основной формы, а по окончании (100% выполнения) форму закрыть, хотя чувствую, что это решение не правильное, а как формы с прогресс барами делаются по правильному, не смог нигде найти, может подскажете как это делается по правильному, так, чтобы универсально для любых (почти любых) задач? Заранее благодарен
 
 

Всего записей: 393 | Зарегистр. 04-08-2003 | Отправлено: 12:26 25-05-2009
afiget



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Meister Floh
Тебе нужно использовать не модальную форму, а форму StayOnTop. Таким образом, программа не будет ожидать выбора пользователя (как при выводе модальной) а будет выполнять свои действия. Ну и дальше по мере выполнения (как у тебя сделано: цикл, отдельный поток) изменяй свой прогресбар.

Всего записей: 545 | Зарегистр. 31-12-2005 | Отправлено: 12:32 25-05-2009
f3ka

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
afiget
StayOnTop не лучший вариант, иначе будут доступны остальные формы, а это может влиять на процедуру работы которая отображается прогрессом... и еще, окно ведь с прогресс баром не будет делаться на весь экран, чтоб закрыть остальные формы...

Всего записей: 497 | Зарегистр. 02-03-2007 | Отправлено: 12:59 25-05-2009
jicoff

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Meister Floh
 
У себя в проектах решаю просто - перед вызовом ShowModal, посылаю этой форме PostMessage со своим WM_... значением. В обработчике реализован цикл с прогресс баром, который вызывает на каждой итерации набор событий, заранее определенных для этой формы и назначенных из главной. Таким образом не надо никаких потоков, обработка идет в модальной форме, а процедуры вызываются из главной формы.

Всего записей: 289 | Зарегистр. 03-03-2006 | Отправлено: 13:23 25-05-2009
ZalivkoDenis



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
vladman

Цитата:
Надеюсь, что все верно понял и он (примерчик) Вам поможет

Да (!), две тысячи чертей, это именно то, что я имел ввиду!!! Большое спасибо!!! Его (пример) нужно в экзамплы включать Большущее СПАСИБО!

Всего записей: 537 | Зарегистр. 06-10-2005 | Отправлено: 14:28 25-05-2009
afiget



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
StayOnTop не лучший вариант, иначе будут доступны остальные формы

Ну здрасте!
А DisableTaskWindows нужно делать или дядя сделает?
 
Добавлено:
Где-то у меня завалялся модифицированный исходник Просторова, который свободно распространяется. Найду и выложу.
 
Добавлено:
Вот есть ссылка на исходник splash-окна:
http://sql.ru/forum/actualthread.aspx?tid=584068

Всего записей: 545 | Зарегистр. 31-12-2005 | Отправлено: 16:09 25-05-2009
   

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Использование DevExpress (часть 3)
ShIvADeSt (31-12-2009 04:49): Продолжаем тут http://forum.ru-board.com/topic.cgi?forum=33&topic=10884


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru