Спасибо, получилось. А где можно взять хелп на русском? Мне просто нужно сделать интерфейс как в офисе 2007.
» Использование DevExpress 2
AngeIa, нет такого. Максимум на русском - переведенные ресурсы для локализации.
Смотрите примеры, входящие в поставку, если английская справка не подходит.
Смотрите примеры, входящие в поставку, если английская справка не подходит.
Примеров в поставке я не нашла... хотя может не там ищу
Ребята, подскажите, как добавить пиктограмму в грид?
пробывал так
Код:
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;
пробывал так
Код:
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;
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;
Рисование в обычном поле иконки из 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;
Dennica
дык опять же, это для cxGrid а мне надо для dxDBGrid...
дык опять же, это для cxGrid а мне надо для dxDBGrid...
Друзья, помогите пожалуйста соединить cxGrid с данными не из базы данных, а нпример из массива.
Alexandre
Руками через TableView (не DBTableView)
либо через MemTable (из массива в таблицу и потом назад)
Руками через TableView (не DBTableView)
либо через MemTable (из массива в таблицу и потом назад)
Alexandre, shulum правильно предложил простой вариант MemTable (у dx-ов есть в комплекте dxMemTable).
Проблемма с Delphi2007 и PNG в ImageList - кто-нибудь знает решение для правильного отображения прозрачности?
Люди, помогите!
Вопрос поднимался, но решения я не нашел.
Использую cxGrid. Чтобы избежать подвисание формы делаю открытие DataSet`а в потоке. Все отрабатывает нормально, но при закрытии формы ошибка "Недопустимый дескриптор окна... Exception EOS error... code1400 ". Когда использую обычный Grid такой проблемы нет.
Вопрос поднимался, но решения я не нашел.
Использую cxGrid. Чтобы избежать подвисание формы делаю открытие DataSet`а в потоке. Все отрабатывает нормально, но при закрытии формы ошибка "Недопустимый дескриптор окна... Exception EOS error... code1400 ". Когда использую обычный Grid такой проблемы нет.
shulum
korobovmax
Друзья, если не трудно, киньте пожалуйста небольшой примерчик.
korobovmax
Друзья, если не трудно, киньте пожалуйста небольшой примерчик.
Alexandre, в свойствах грида указать DataSource, у которого свойство Dataset = dxMemTable.
Дальше, под двойному клику на dxMemTable откроется редактор столбцов. Заполнить его...
Наконец, в run-time'е уже добавлять записи в dxMemTable:
dxMemTable.Insert;
dxMemTable.FieldByName(<Поле1>).AsString := 'Значение1';
...
dxMemTable.Post;
Дальше, под двойному клику на dxMemTable откроется редактор столбцов. Заполнить его...
Наконец, в run-time'е уже добавлять записи в dxMemTable:
dxMemTable.Insert;
dxMemTable.FieldByName(<Поле1>).AsString := 'Значение1';
...
dxMemTable.Post;
Alexandre
Посмотри примеры Unbound..
Посмотри примеры Unbound..
korobovmax
Czechoslovak
Cпасибо!
Czechoslovak
Cпасибо!
Здравствуйте. Появилась одна проблемка. В общем мне нужно на форрме вывести изображение из png файлика. Поставил TImage выброл файл с диска, отрисовалось все как надо, с прозрачностью. Дальше пробую сделать тоже самое из TcxImageList. Пишу:
frmMain.imglstLarge.GetBitmap(1, imgHeader.Picture.Bitmap);
Отрисовывает но с непрозрачным фоном. Ладно, в справке по TcxImageList читаю, что вместо GetBitmap нужно использовать GetImage. Маняю, в результате выводится всеравно криво. Качество картинки по сравнению загруженной с диска рядом не стояло. Вопрос, как мне всеже вывести красивые картинки из cxImageList?
frmMain.imglstLarge.GetBitmap(1, imgHeader.Picture.Bitmap);
Отрисовывает но с непрозрачным фоном. Ладно, в справке по TcxImageList читаю, что вместо GetBitmap нужно использовать GetImage. Маняю, в результате выводится всеравно криво. Качество картинки по сравнению загруженной с диска рядом не стояло. Вопрос, как мне всеже вывести красивые картинки из cxImageList?
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;
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;
xokc
Спасибо вам за участие, но к сожалению оба способа эти у меня не прошли. Первый не выводил вообще ничего, второй - фактически тоже самое что и использованный мной ранее способ. После долгих мучений заработало вот так:
frmMain.imglstLarge.GetIcon(17, img1.Picture.Icon);
Спасибо вам за участие, но к сожалению оба способа эти у меня не прошли. Первый не выводил вообще ничего, второй - фактически тоже самое что и использованный мной ранее способ. После долгих мучений заработало вот так:
frmMain.imglstLarge.GetIcon(17, img1.Picture.Icon);
Всем добрый день! Люди, помогите, не могу разобраться. DevExpress WinForms 3 XtraEditors для VS.NET 2003. В CalcEdit и SpinEdit не вставляется число из буфера обмена, если оно с запятой - просто обнуляется EditValue и все. Как быть?
doublet
Разделитель точка (в твоей системе), а ты пытаешься всатвить число с запятой.
Либо перед вставкой заменяй запятую на твой разделитель, либо напиши в обработчике события валидации (OnValidate?) код, который будет делать делать то же самое.
Разделитель точка (в твоей системе), а ты пытаешься всатвить число с запятой.
Либо перед вставкой заменяй запятую на твой разделитель, либо напиши в обработчике события валидации (OnValidate?) код, который будет делать делать то же самое.
Есть грид, в хидере дни месяца. Надо отрисовать ячейки в зависимости от значения в ней. Пишу для первого дня:
Код: 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;
...
Код: 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;
...
drunk2
AStyle:=TcxStyle(cxStyleRepository1.Items[AItem.Index]);
AStyle:=TcxStyle(cxStyleRepository1.Items[AItem.Index]);
Как в Design-Time поменять местами панели инструментов в dxBarManager.
Сейчас их порядок такой - как они создавались в среде (D7),
а мне нужно выстроить их как бы по логичнее (по смыслу) что ли.
Панели редактирования рядом друг за другом, и т.д.
Ни где не могу найти ответа.
Сейчас их порядок такой - как они создавались в среде (D7),
а мне нужно выстроить их как бы по логичнее (по смыслу) что ли.
Панели редактирования рядом друг за другом, и т.д.
Ни где не могу найти ответа.
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;
...
Похоже пример ввел в заблуждение или криво объяснил. Вот кусок из кода:
Код: ...
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;
...
Давний мой вопрос ещё в силе
Как убрать отступ в cxDBVerticalGrid?
Как убрать отступ в cxDBVerticalGrid?
VikLabel
Вообще-то для пользователя привычнее по алфавиту, а не по смыслу.
Открой текстовым редактором dfm и дальше копи-пэйст
Вообще-то для пользователя привычнее по алфавиту, а не по смыслу.
Открой текстовым редактором dfm и дальше копи-пэйст
VikLabel
тож не нашёл, похоже на мелкую бяку... надо ковырять сорцы...
тож не нашёл, похоже на мелкую бяку... надо ковырять сорцы...
Поставил последних девок, до этого были от 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 снимается. Теперь все работает правильно.
ЗЫ Похоже это только начало'(
Добавлено:
Зато вопрос про OnGetContentStyle снимается. Теперь все работает правильно.
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;
Рисуй сам в 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;
afiget
Спасибо, как то не подумал об этом dfm, мне этого пока хватит.
Dennica
Спасибо, работает. Видимо в самой компоненте косяк.
Добавлено:
Ещё один вопросик о cxDBVerticalGrid
Как убрать показ фокусировки (по периметру точки)
т.е. чтобы при уходе с компонента напр. на edit, ...
выполнить типа такого ShowFocusRect:=False (это я с умничал )
Спасибо, как то не подумал об этом dfm, мне этого пока хватит.
Dennica
Спасибо, работает. Видимо в самой компоненте косяк.
Добавлено:
Ещё один вопросик о cxDBVerticalGrid
Как убрать показ фокусировки (по периметру точки)
т.е. чтобы при уходе с компонента напр. на edit, ...
выполнить типа такого ShowFocusRect:=False (это я с умничал )
Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
Предыдущая тема: Язык программирования на русском языке
Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.