Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Использование DevExpress 2

Автор: AngeIa
Дата сообщения: 15.03.2008 16:00
Спасибо, получилось. А где можно взять хелп на русском? Мне просто нужно сделать интерфейс как в офисе 2007.
Автор: korobovmax
Дата сообщения: 15.03.2008 17:25
AngeIa, нет такого. Максимум на русском - переведенные ресурсы для локализации.

Смотрите примеры, входящие в поставку, если английская справка не подходит.
Автор: AngeIa
Дата сообщения: 15.03.2008 19:22
Примеров в поставке я не нашла... хотя может не там ищу
Автор: Lexus300
Дата сообщения: 16.03.2008 22:49
Ребята, подскажите, как добавить пиктограмму в грид?
пробывал так

Код:
procedure TfrmPrihodNacl.dbgImageCustomDrawCell(Sender: TObject;
ACanvas: TCanvas; ARect: TRect; ANode: TdxTreeListNode;
AColumn: TdxTreeListColumn; ASelected, AFocused, ANewItemRow: Boolean;
var AText: String; var AColor: TColor; AFont: TFont;
var AAlignment: TAlignment; var ADone: Boolean);
begin
if dm.IDoc.FieldByName('status_doc').AsInteger = 1 then
begin
dbgDoc.Canvas.Draw(ARect.TopLeft.x, ARect.TopLeft.y, frmMain.Status);
dbgDoc.Cursor := crHandPoint;
end;
end;
Автор: Dennica
Дата сообщения: 17.03.2008 08:33
Lexus300
Рисование в обычном поле иконки из ImageList:

Код:
procedure TfrmSvc.dbbtvSvc_idCustomDrawCell(
Sender: TcxCustomGridTableView; ACanvas: TcxCanvas;
AViewInfo: TcxGridTableDataCellViewInfo; var ADone: boolean);
begin
ACanvas.FillRect(AViewInfo.ContentBounds);
ACanvas.DrawTexT(AViewInfo.TextForPainting, AViewInfo.TextAreaBounds, cxDontClip or
cxShowPrefix or cxWordBreak or cxAlignRight or cxAlignVCenter);
ACanvas.DrawImage(dmData.imglstEditButton, AViewInfo.ContentBounds.TopLeft.X,
AViewInfo.ContentBounds.TopLeft.Y, 70);
ADone := True;
end;
Автор: Lexus300
Дата сообщения: 17.03.2008 16:52
Dennica
дык опять же, это для cxGrid а мне надо для dxDBGrid...
Автор: Alexandre
Дата сообщения: 18.03.2008 14:11
Друзья, помогите пожалуйста соединить cxGrid с данными не из базы данных, а нпример из массива.
Автор: shulum
Дата сообщения: 18.03.2008 17:39
Alexandre

Руками через TableView (не DBTableView)
либо через MemTable (из массива в таблицу и потом назад)
Автор: korobovmax
Дата сообщения: 18.03.2008 17:42
Alexandre, shulum правильно предложил простой вариант MemTable (у dx-ов есть в комплекте dxMemTable).
Автор: Alkatraz
Дата сообщения: 19.03.2008 10:39
Проблемма с Delphi2007 и PNG в ImageList - кто-нибудь знает решение для правильного отображения прозрачности?
Автор: MVGurin
Дата сообщения: 19.03.2008 10:46
Люди, помогите!
Вопрос поднимался, но решения я не нашел.

Использую cxGrid. Чтобы избежать подвисание формы делаю открытие DataSet`а в потоке. Все отрабатывает нормально, но при закрытии формы ошибка "Недопустимый дескриптор окна... Exception EOS error... code1400 ". Когда использую обычный Grid такой проблемы нет.
Автор: Alexandre
Дата сообщения: 19.03.2008 11:49
shulum
korobovmax
Друзья, если не трудно, киньте пожалуйста небольшой примерчик.
Автор: korobovmax
Дата сообщения: 19.03.2008 13:23
Alexandre, в свойствах грида указать DataSource, у которого свойство Dataset = dxMemTable.
Дальше, под двойному клику на dxMemTable откроется редактор столбцов. Заполнить его...
Наконец, в run-time'е уже добавлять записи в dxMemTable:
dxMemTable.Insert;
dxMemTable.FieldByName(<Поле1>).AsString := 'Значение1';
...
dxMemTable.Post;
Автор: Czechoslovak
Дата сообщения: 19.03.2008 13:24
Alexandre
Посмотри примеры Unbound..
Автор: Alexandre
Дата сообщения: 19.03.2008 13:58
korobovmax
Czechoslovak
Cпасибо!
Автор: Dennica
Дата сообщения: 20.03.2008 09:47
Здравствуйте. Появилась одна проблемка. В общем мне нужно на форрме вывести изображение из png файлика. Поставил TImage выброл файл с диска, отрисовалось все как надо, с прозрачностью. Дальше пробую сделать тоже самое из TcxImageList. Пишу:
frmMain.imglstLarge.GetBitmap(1, imgHeader.Picture.Bitmap);
Отрисовывает но с непрозрачным фоном. Ладно, в справке по TcxImageList читаю, что вместо GetBitmap нужно использовать GetImage. Маняю, в результате выводится всеравно криво. Качество картинки по сравнению загруженной с диска рядом не стояло. Вопрос, как мне всеже вывести красивые картинки из cxImageList?

Автор: xokc
Дата сообщения: 20.03.2008 19:45
Dennica
frmMain.imglstLarge.Draw(imgHeader.Picture.Bitmap.Canvas, 0, 0, 1, dsTransparent, itImage, True)
или
Bmp := TBitmap.Create;
try
frmMain.imglstLarge.GetBitmap(1, Bmp);
imgHeader.Picture.Bitmap.Assign(Bmp);
finally
FreeAndNil(Bmp);
end;
Автор: Dennica
Дата сообщения: 21.03.2008 08:05
xokc
Спасибо вам за участие, но к сожалению оба способа эти у меня не прошли. Первый не выводил вообще ничего, второй - фактически тоже самое что и использованный мной ранее способ. После долгих мучений заработало вот так:
frmMain.imglstLarge.GetIcon(17, img1.Picture.Icon);
Автор: doublet
Дата сообщения: 21.03.2008 10:54
Всем добрый день! Люди, помогите, не могу разобраться. DevExpress WinForms 3 XtraEditors для VS.NET 2003. В CalcEdit и SpinEdit не вставляется число из буфера обмена, если оно с запятой - просто обнуляется EditValue и все. Как быть?
Автор: afiget
Дата сообщения: 24.03.2008 11:52
doublet
Разделитель точка (в твоей системе), а ты пытаешься всатвить число с запятой.
Либо перед вставкой заменяй запятую на твой разделитель, либо напиши в обработчике события валидации (OnValidate?) код, который будет делать делать то же самое.
Автор: drunk2
Дата сообщения: 26.03.2008 11:27
Есть грид, в хидере дни месяца. Надо отрисовать ячейки в зависимости от значения в ней. Пишу для первого дня:
Код: if ARecord.Values[AItem.Index]=1 then
AStyle:=cxStyle1
else if ARecord.Values[AItem.Index]=2 then
AStyle:=cxStyle2
else if ARecord.Values[AItem.Index]=3 then
AStyle:=cxStyle3;
...
Автор: makz
Дата сообщения: 26.03.2008 12:15
drunk2

AStyle:=TcxStyle(cxStyleRepository1.Items[AItem.Index]);
Автор: VikLabel
Дата сообщения: 26.03.2008 13:29
Как в Design-Time поменять местами панели инструментов в dxBarManager.
Сейчас их порядок такой - как они создавались в среде (D7),
а мне нужно выстроить их как бы по логичнее (по смыслу) что ли.
Панели редактирования рядом друг за другом, и т.д.
Ни где не могу найти ответа.
Автор: drunk2
Дата сообщения: 26.03.2008 14:28
makz
Похоже пример ввел в заблуждение или криво объяснил. Вот кусок из кода:
Код: ...
if ARecord.Values[AItem.Index]=41 then
AStyle:=c_blue
else if ARecord.Values[AItem.Index]=53 then
AStyle:=c_red
else if ARecord.Values[AItem.Index]=4 then
AStyle:=c_black;
...
Автор: VikLabel
Дата сообщения: 26.03.2008 15:00
Давний мой вопрос ещё в силе

Как убрать отступ в cxDBVerticalGrid?

Автор: afiget
Дата сообщения: 26.03.2008 16:48
VikLabel
Вообще-то для пользователя привычнее по алфавиту, а не по смыслу.
Открой текстовым редактором dfm и дальше копи-пэйст
Автор: VadimLou
Дата сообщения: 26.03.2008 21:56
VikLabel
тож не нашёл, похоже на мелкую бяку... надо ковырять сорцы...
Автор: drunk2
Дата сообщения: 27.03.2008 07:40
Поставил последних девок, до этого были от 2007-04-27. У всех TdxMemData, у которых есть OnFilterRecord вываливается AV в dbrtl100.bpl. Есть PageControl, при переходе на одну закладку, где находятся только кнопки (TcxButton) c рисунками и TcxGrid получаю EListError "List index out of bands (2)" и вываливаюсь в cxGraphics.TcxImageList.Insert(AIndex: Integer; AImage, AMask: TBitmap); Как быть?

ЗЫ Похоже это только начало'(

Добавлено:
Зато вопрос про OnGetContentStyle снимается. Теперь все работает правильно.
Автор: Dennica
Дата сообщения: 27.03.2008 10:04
VikLabel
Рисуй сам в OnDrawRowHeader

Добавлено:
Вот, попробовал набросать. Может какой-то из параметров не учел, но для простых случаев должно работать.

Код:
procedure TForm2.cxVerticalGrid1DrawRowHeader(Sender: TObject;
ACanvas: TcxCanvas; APainter: TcxvgPainter;
AHeaderViewInfo: TcxCustomRowHeaderInfo; var Done: Boolean);
var
i: integer;
LTextBounds: TRect;
LOffset: Integer;
begin
with AHeaderViewInfo do
begin
cxApplyViewParams(ACanvas, AHeaderViewInfo.ViewParams);
ACanvas.FillRect(HeaderRect);
for i := 0 to Pred(CaptionsInfo.Count) do
begin
with CaptionsInfo[i] do begin
LTextBounds := CaptionTextRect;
if i = 0 then
begin
LOffset := Round((IndentBounds.Right - IndentBounds.Left)
/ Succ(AHeaderViewInfo.Row.Level));
LTextBounds.Left := LTextBounds.Left - LOffset;
LTextBounds.Right := LTextBounds.Right + LOffset;
end;
ACanvas.DrawTexT(Caption, LTextBounds, TextFlags);
end;
end;
end;
Done := True;
end;
Автор: VikLabel
Дата сообщения: 27.03.2008 14:31
afiget
Спасибо, как то не подумал об этом dfm, мне этого пока хватит.

Dennica
Спасибо, работает. Видимо в самой компоненте косяк.


Добавлено:
Ещё один вопросик о cxDBVerticalGrid
Как убрать показ фокусировки (по периметру точки)
т.е. чтобы при уходе с компонента напр. на edit, ...
выполнить типа такого ShowFocusRect:=False (это я с умничал )

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182

Предыдущая тема: Язык программирования на русском языке


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.