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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
vavavol



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Подскажите, пожайлуста, как в cxGrid в колонках с цифровыми значениями значения 0 выводить, как пустые (null). Можно, конечно в датасете это отследить, но мне нужно, чтобы в датасете 0 были.

Всего записей: 181 | Зарегистр. 25-01-2006 | Отправлено: 15:29 04-09-2009
korobovmax



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
vavavol, у столбцов можно создать событие OnGetDataText. В него поступает выводимый текст, который вы можете проанализировать и заменить на свой.
Еще есть событие OnGetDisplayText.

Всего записей: 276 | Зарегистр. 23-01-2005 | Отправлено: 15:58 04-09-2009
sldaac



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Приветстую
Есть cxGrid. уровень с подуровнем. У каждого уровня свой view,  организовано Мастер-Детайл. Как определить - найти в каком View находиться фокус, или выделена строка. Когда на мастер view нет проблем, а вот когда курсор на детайл view, выделена строка - никак. Детайл view раскрыт.
_http://img98.imageshack.us/img98/485/999kx.jpg

Всего записей: 721 | Зарегистр. 15-06-2005 | Отправлено: 02:40 06-09-2009 | Исправлено: sldaac, 02:44 06-09-2009
dimm78

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

Цитата:
sldaac

 
Помоему и cxGrid есть свойство ActiveView. К сожалению сейчас под рукой нет Делфей поэтому точнее сказать не могу...

Всего записей: 163 | Зарегистр. 07-12-2005 | Отправлено: 14:13 06-09-2009
sldaac



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

Цитата:
Помоему и cxGrid есть свойство ActiveView. К сожалению сейчас под рукой нет Делфей поэтому точнее сказать не могу...

Это не то, в этот момент активны оба View, вернее активен мастер, и развернув "+" получаем детайл.  
 

Всего записей: 721 | Зарегистр. 15-06-2005 | Отправлено: 14:32 06-09-2009
vladman

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

Цитата:
Как определить - найти в каком View находиться фокус, или выделена строка.  

Используйте свойство FocusedView вашего cxGrid.
Также стоит обратить внимание на раздел справки *Pattern and Clone Views*.
ms-help://borland.bds5/ExpressQuantumGrid6.BDS5/ExpressQuantumGrid6/IDH_Fundamentals_PatternCloneViews.htm

Всего записей: 708 | Зарегистр. 13-11-2002 | Отправлено: 15:24 06-09-2009
sldaac



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

Цитата:
Используйте свойство FocusedView вашего cxGrid.

Это не решает проблему, если и указывае, то что фокус на мастер View, хотя на самом деле курсор находится на детайл строке.
 
Это я все читал, пишу уже когда все испробавано

Всего записей: 721 | Зарегистр. 15-06-2005 | Отправлено: 13:16 07-09-2009
vladman

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

Цитата:
Это не решает проблему... Это я все читал

Попробуйте  
procedure <YourForm>.<YourcxButtonTest>Click(Sender: TObject);
begin
  ShowMessage(<YourGrid>.FocusedView.PatternGridView.Name);
end;

Всего записей: 708 | Зарегистр. 13-11-2002 | Отправлено: 17:42 07-09-2009
sldaac



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

Цитата:
ShowMessage(<YourGrid>.FocusedView.PatternGridView.Name);

Вот когда фокус на записи детайл,  Name=''
На мастер view все нормально, может это глюк версии, у меня х43

Всего записей: 721 | Зарегистр. 15-06-2005 | Отправлено: 09:13 08-09-2009
vladman

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

Цитата:
Вот когда фокус на записи детайл,  Name=''  

Странно. Тогда давайте пример с вашим мастер-дитэйл, посмотрим почему это не работает.
 
ЗЫ. А может вы уровни и вью создаете динамически, и явно им не указываете имя?
Так как не было AV, значит объект FocusedView.PatternGridView существует. Посмотрите отладчиков его свойства.

Всего записей: 708 | Зарегистр. 13-11-2002 | Отправлено: 11:06 08-09-2009 | Исправлено: vladman, 11:12 08-09-2009
Energot

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Последняя версия компонент.
 При попытке создания из библиотека простую форму, на которой брошен Ribbon - все падает. Если то же самое делать из exe - все работает. Я поковырялся по сорцам, вот тут, в библиотеке SkinCount  равен 0
 
procedure TdxCustomRibbon.InitColorScheme;
var
  I: Integer;
begin
  for I := 0 to SkinManager.SkinCount - 1 do
    if SkinManager[I] is TdxCustomRibbonSkin then
    begin
      ColorSchemeName := SkinManager[I].Name;
      break;
    end;
end;
 
Буду рыть дальше, но может проблема известная и есть простое решение?
 
Уткнулся вот сюда:
 
 
procedure TdxUnitsLoader.AddUnit(const AInitializeProc, AFinalizeProc: Pointer);
var
  AProc: TdxProc;
begin
  if AInitializeProc <> nil then
  begin
    AProc := AInitializeProc;
    if not IsDLL then
    begin
      FGDIInitialized := True;
      AProc;
    end
    else
      InitializeList.Add(AInitializeProc);
  end;
  if AFinalizeProc <> nil then
    FinalizeList.Add(AFinalizeProc);
end;
 
 
Похоже, что из библиотеки GDI не инициализируется. Что делать, как обойти?

Всего записей: 4 | Зарегистр. 15-09-2008 | Отправлено: 18:10 08-09-2009 | Исправлено: Energot, 18:26 08-09-2009
vladman

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

Цитата:
Похоже, что из библиотеки GDI не инициализируется. Что делать, как обойти?

Раз GDI+ не инициализируется - значит нужно инициализировать. Попробуйте так:

Код:
 
<YourDllUnit>.pas
 
uses
  dxGDIPlusAPI;
 
.....
.....
.....
 
initialization
  dxInitializeGDIPlus;
 
finalization
  dxFinalizeGDIPlus;
 


Всего записей: 708 | Зарегистр. 13-11-2002 | Отправлено: 19:02 08-09-2009
JohnSilver182



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Hi  
 
А я если помещаю CxBotton на Cxpanel ,  то в RUN-TIME  половина у кнопок обрезается ((  

Всего записей: 829 | Зарегистр. 03-06-2009 | Отправлено: 20:19 08-09-2009
vladman

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

Цитата:
CxBotton на Cxpanel

Что это? Нет таких компонентов у DevExpress
Может CxBotton это cxButton? Но что такое Cxpanel - тяжело догадаться.

Всего записей: 708 | Зарегистр. 13-11-2002 | Отправлено: 20:30 08-09-2009
JohnSilver182



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ОЙ , на cxGroupBox

Всего записей: 829 | Зарегистр. 03-06-2009 | Отправлено: 21:41 08-09-2009
vladman

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
JohnSilver182
Давайте пример (приложение, скриншот) что и как у вас обрезается, разберемся.

Всего записей: 708 | Зарегистр. 13-11-2002 | Отправлено: 23:27 08-09-2009
JohnSilver182



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вот
   
 
есть  версия  что это  невидымый Caption гадит

Всего записей: 829 | Зарегистр. 03-06-2009 | Отправлено: 07:38 09-09-2009 | Исправлено: JohnSilver182, 07:39 09-09-2009
Energot

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vladman
 
 Спасибо, помогло!

Всего записей: 4 | Зарегистр. 15-09-2008 | Отправлено: 08:24 09-09-2009
vladman

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

Цитата:
есть  версия  что это  невидымый Caption гадит

А это что такое? Одни ребусы . Какой скин используете, шрифт, размер шрифта? Если увеличить высоту GroupBox, как отрисуются кнопки. В общем, давайте исходники этой формы или сделайте похожую новую, чтобы была возможность воспроизвести проблему.
 
Добавлено:
Energot

Цитата:
 Спасибо, помогло!  

Не за что, обращайтесь.

Всего записей: 708 | Зарегистр. 13-11-2002 | Отправлено: 09:18 09-09-2009
Energot

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vladman
 В общем, проблему не решил. В finalization оставлять dxFinalizeGDIPlus - нельзя, если запустить два экземпляра библиотеки - все упадет (и падает).  
 
 В базовый класс добавил статический счетчик эксземпляров класса. При создании первого - инициализирую GDI+, при закрытии последнего - финализирую.  Однако при вызове dxFinalizeGDIPlus после закрытия первого же экземпляра библиотеки, от риббона прилетает какое то оконное сообщение и усе падает. (На TCustomForm.SetVisible в юните Forms). Ниже код деструктора моей библиотеки.
 
destructor TInfoJournal.Destroy;
begin
  if JournalFrm <> nil then
    JournalFrm.Free; // форма с риббоном
 
  Dec(UnitsCount);
  if(UnitsCount=0) then
    dxFinalizeGDIPlus;    
 
  inherited;
end;
 

Всего записей: 4 | Зарегистр. 15-09-2008 | Отправлено: 09:26 09-09-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