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

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

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Как обработать клик мышкой на закладках Docking-форм?

Всего записей: 428 | Зарегистр. 01-11-2006 | Отправлено: 05:04 17-08-2009
JohnSilver182



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

Цитата:
1. Вы, скорее всего, установили свойство HotZone в одно из значений: MediaPlayer8, MediaPlayer9, XPTaskBar, StyleSimple. Установите это свойство в nil, и будет "забаний".  

 
ШАМАН  !!!!
 
 
Добавлено:
А я хотел спросить  по TcxLookUpComboBox
 
Если он связан с  датасет  типа
1 огурцы    
2  помидоры

 
То как при открытии формы мне  лутше переместить Программно на нужную  запись ???

Всего записей: 829 | Зарегистр. 03-06-2009 | Отправлено: 07:35 17-08-2009
f3ka

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

Всего записей: 497 | Зарегистр. 02-03-2007 | Отправлено: 09:44 17-08-2009
JohnSilver182



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
f3ka  Шаман !!
 
загадки множаться
 
а) dxStatusBar1  -  Все пытался  изменить размер панели ,  она как фокус  пропадает  , становиться своим тупым  размером .  Если  убрать ...panels[0].Fixed:=false  то оно  на весь экран растягиваетсо !!
 
б) А как сказать  из группы ExpressEditor  компонентам   что бы  всю  область  заполняли ????  А то  ровнять так обломно внутри контейнера !!!!  Якроь ставить ,  а нафик !!
 
 

Всего записей: 829 | Зарегистр. 03-06-2009 | Отправлено: 10:33 17-08-2009 | Исправлено: JohnSilver182, 10:41 17-08-2009
vladman

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

Цитата:
Как обработать клик мышкой на закладках Docking-форм?

Если речь идет о ExpressDocking Library, и DockPanel размещены в TabContainerDockSite, то у TdxTabContainerDockSite есть обработчик OnActiveChildChanged. При клике на Tab это событие как раз и возникает.
 
Добавлено:
JohnSilver182

Цитата:
своим тупым  размером... ровнять так обломно внутри... а нафик !!

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

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



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

а) dxStatusBar1  - Если  менять  размеры  панелей  , то после потери фокуса ширина становиться старой
 
б) Если на  панели сделал контейнер и поместил  туда  контрол , то  ровнять  контрол нужно Вручную .  Нет  у визуальных  контролов  свойства Aligh (кроме  панелей и cxGrid)  
  Можно как то  автоматизировать процесс ??
 

Всего записей: 829 | Зарегистр. 03-06-2009 | Отправлено: 14:16 17-08-2009
Chukotka

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

Цитата:
Если речь идет о ExpressDocking Library, и DockPanel размещены в TabContainerDockSite
Именно так

Цитата:
то у TdxTabContainerDockSite есть обработчик OnActiveChildChanged. При клике на Tab это событие как раз и возникает.
Мне надо перехватить правый клик мыши - хочу по нему активизировать отд меню. Так что увы, предложенный вами вариант не подходит.

Всего записей: 428 | Зарегистр. 01-11-2006 | Отправлено: 14:30 17-08-2009
vladman

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

Цитата:
после потери фокус

А фокус с какого котнрола теряется? Думаю, пример бы помог быстрее разобраться.

Цитата:
Нет  у визуальных  контролов  свойства Aligh.  Можно как то  автоматизировать процесс ??

Cвойства Aligh есть, только это свойство не published, а public. Поэтому вы его и не ведите в Object Inspector. Автоматизировать процесс можно, поместив следующий код, например, в обработчик OnCreate вашей формы:
<YourcxEditorControl>.Align := alTop;

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



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

Цитата:
А фокус с какого котнрола теряется? Думаю, пример бы помог быстрее разобраться.  

Нашел у dxStatusBar.Panel[x].MinWith +  двигать  мышкой  бесполезно .  Надо руками  менять  dxStatusBar.Panel[x].With
 

Цитата:
Cвойства Aligh есть, только это свойство не published, а public. Поэтому вы его и не ведите в Object Inspector. Автоматизировать процесс можно, поместив следующий код, например, в обработчик OnCreate вашей формы:
<YourcxEditorControl>.Align := alTop;

 
Мама мия !
 
 

Всего записей: 829 | Зарегистр. 03-06-2009 | Отправлено: 15:25 17-08-2009
Dm_Sok

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Доброго времени суток. Подскажите плиз, можно ли в cxGride объединять ячейки горизонтально.

Всего записей: 3 | Зарегистр. 17-08-2009 | Отправлено: 15:37 17-08-2009
vladman

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

Цитата:
Мне надо перехватить правый клик мыши

Теперь понятно, что правый. Тогда попробуйте так:
обрабатывайте событие onContextPopup вашего dxTabContainerDockSite, а именно:

Код:
 
type
  TdxTabContainerDockSiteAccess = class(TdxTabContainerDockSite);
 
procedure <YourForm>.<YourdxTabContainerDockSite>ContextPopup(Sender: TObject; MousePos: TPoint; var Handled: Boolean);
begin
  if TdxTabContainerDockSiteAccess(Sender).GetTabIndexAtPos(MousePos) <> -1 then
    <YourPopupMenu>.PopupFromCursorPos;
end;

 
 
Добавлено:
Dm_Sok
Можно, используйте событие onCustomDrawCell.

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

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

Цитата:
 
vladman
Можно, используйте событие onCustomDrawCell.
 

Так получится только readonly. Да и геморрой будет с отрисовкой по пол-ячейи.

Всего записей: 477 | Зарегистр. 22-09-2002 | Отправлено: 21:36 17-08-2009
vladman

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

Цитата:
Так получится только readonly. Да и геморрой будет с отрисовкой по пол-ячейи.

Так предложите свой подход. Или ваш ответ - "в cxGride нельзя объединять ячейки горизонтально"?
 
Добавлено:
По умолчанию ведь и вертикально объединенные ячейки нельзя править в гриде. Хоят есть методы и это обойти.

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

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
На DevExpress Channel - два новых видео:
VCL Spell Checker - Getting Started и  
VCL Spell Checker - Check As You Type
 
В шапку добавил ссылку на
DevExpress Channel - Training Videos, Interviews, Demos

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

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

Цитата:
Так получится только readonly. Да и геморрой будет с отрисовкой по пол-ячейи.

readonly мне как раз подходит, а вот геморроя хотелось бы избежать. Может есть более или менее штатный способ горизонтального объединения ячеек?

Всего записей: 3 | Зарегистр. 17-08-2009 | Отправлено: 08:56 18-08-2009
JohnSilver182



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Hi . Загадки  принимают лавиноообразный шквал (

Код:
 
procedure TPolygon.cxGrid1DBTableView1Column2CustomDrawCell(
  Sender: TcxCustomGridTableView; ACanvas: TcxCanvas;
  AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
begin
     ACanvas.Brush.Color:=StrToint('$'+self.pFIBDataSet1['color']);
end;
 
 

 
Пытался  покрасить  ячейку в зависимости  от   данных в  датасете .  Что то не пошло .

Всего записей: 829 | Зарегистр. 03-06-2009 | Отправлено: 09:19 18-08-2009 | Исправлено: JohnSilver182, 11:36 18-08-2009
f3ka

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

Всего записей: 497 | Зарегистр. 02-03-2007 | Отправлено: 11:42 18-08-2009
JohnSilver182



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

Цитата:
возможно HexToInt поможет

 
Не . Почему для этого нужно заводит СТОЛБЕЦЦЦ и делать его HIDE .  Похоже DEvki не перебирают данные  из Рекордсетов .
 
acanvas.Brush.Color:=mathEx.RGBtoBGR(VarAsType(AViewInfo.GridRecord.DisplayTexts[cxGridTVOneColumn_COLOR.Index], varString)) ;

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

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

Цитата:
а вот геморроя хотелось бы избежать

А что вы понимаете под этим словом, в чем он выражается? в количестве строк кода? в том, что нужно разобраться в принципах работы механизма обработки события onCustomDrawCell?
И почему вы считаете что onCustomDrawCell не штатный способ?
Вот рабочий пример:

Код:
procedure <YourForm>.<YourcxGridDBTableView>CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo:
    TcxGridTableDataCellViewInfo; var ADone: Boolean);
var
  vRect: TRect;
  vPreviousViewInfo: TcxGridTableDataCellViewInfo;
  vTextAreaBounds: TRect;
  vMargedField1, vMargedField2: TcxGridDBColumn;
  vBorderColor: TColor;
begin
  vMargedField1 := <YourcxGridDBTableViewMergedField1>;
  vMargedField2 := <YourcxGridDBTableViewMergedField2>;
 
  if (AViewInfo.Item.Index in [vMargedField1.Index, vMargedField2.Index]) and
     (AViewInfo.GridRecord.Values[vMargedField1.Index] = AViewInfo.GridRecord.Values[vMargedField2.Index]) then
    begin
      AViewInfo.Borders := [];
      if AViewInfo.Item.Index = vMargedField2.Index then
        begin
           vPreviousViewInfo := Sender.ViewInfo.RecordsViewInfo.Items[vMargedField1.Index].GetCellViewInfoByItem(vMargedField1);
           vTextAreaBounds := AViewInfo.TextAreaBounds;
           vTextAreaBounds.Left := vPreviousViewInfo.TextAreaBounds.Left;
           ACanvas.DrawTexT(AViewInfo.Text, vTextAreaBounds, cxAlignHCenter);
           vRect := AViewInfo.Bounds;
           vRect.Left := vPreviousViewInfo.Bounds.Left - 1;
           vRect.Top := vRect.Top - 1;
           vBorderColor := AViewInfo.BorderColor[bLeft];
           ACanvas.DrawComplexFrame(vRect, vBorderColor, vBorderColor, [bTop, bLeft, bBottom, bRight], 1);
         end;
      ADone := True;
    end;
end;

 
Добавлено:
JohnSilver182

Цитата:
Похоже DEvki не перебирают данные  из Рекордсетов

И правильно делают, иначе - что б вы говорили о быстродействии, если бы при каждой перерисовке ячейки перебирались (locate) бы данные из "Рекордсетов"?

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



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

Всего записей: 829 | Зарегистр. 03-06-2009 | Отправлено: 18:45 18-08-2009 | Исправлено: JohnSilver182, 06:52 19-08-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