Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / GridLineWidth Ehlib (DBGridEh) / 16 сообщений из 16, страница 1 из 1
04.02.2019, 09:48
    #39769076
aford
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
GridLineWidth Ehlib (DBGridEh)
Как переписать наследника DBGridEh, чтобы заработало это свойство?
Мне нужно вот так:
https://imgbb.com/][img] https://i.ibb.co/t3hSkLT/GridLine.jpg [/img]
2 дня бьюсь.. не меняется ширина, а только увеличивается размер самих ячеек
На оф. форуме молчат, может тут кто поможет.
...
Рейтинг: 0 / 0
04.02.2019, 10:46
    #39769100
ma1tus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
GridLineWidth Ehlib (DBGridEh)
aford,

dkj,
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
type
  THackCustomDBGridEh = class(DBGridEh.TCustomDBGridEh)
  protected
    property GridLineWidth;
  end;
  
  TfmMain = class...

implementation

procedure TfmMain.FormCreate(Sender: TObject);
begin
  THackCustomDBGridEh(grdEh).GridLineWidth := 10;
end;

...
Рейтинг: 0 / 0
04.02.2019, 10:50
    #39769101
ma1tus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
GridLineWidth Ehlib (DBGridEh)
ЗЫ http://www.stringgrid-delphi.ru/gridlinewidth.php есть свойства, в том числе и GridLineWidth, которые лучше вообще не трогать, и значения которых лучше не менять.
...
Рейтинг: 0 / 0
04.02.2019, 11:02
    #39769109
aford
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
GridLineWidth Ehlib (DBGridEh)
ma1tus,

У меня не работает...
Может что перебивает? Я уже унаследовался от DBCustomGridEh и свойство GridLineWith доступно всем таблицам в программе, только толку от этого нет.
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
  TCustomDBGridEh = class(TDBGridEh)
  public
    DBGridType: TDBGridType;
    procedure OptimizeColumns;
    procedure DefaultDrawColumnCell(const Rect: TRect; DataCol: Integer;
      Column: TColumnEh; State: TGridDrawState); reintroduce;
    procedure DrawColumnCell(const Rect: TRect; DataCol: Integer;
      Column: TColumnEh; State: TGridDrawState); override;
    procedure DefaultIndicatorTitleMouseDown(Cell: TGridCoord;
      Button: TMouseButton; Shift: TShiftState; X, Y: Integer); override;
    function DoMouseWheelDown(Shift: TShiftState; MousePos: TPoint): Boolean; override;
    function DoMouseWheelUp(Shift: TShiftState; MousePos: TPoint): Boolean; override;
    function HighlightNoDataCellColor(ACol, ARow: Integer; DataCol, DataRow: Integer;
      CellType: TCellAreaTypeEh; AState: TGridDrawState; InMultiSelect: Boolean; var AColor: TColor;
      AFont: TFont): Boolean; override;
  end;
...
TDBGridEh = class(TCustomDBGridEh);
...
Рейтинг: 0 / 0
04.02.2019, 11:27
    #39769117
ma1tus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
GridLineWidth Ehlib (DBGridEh)
aford
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
  TCustomDBGridEh = class(TDBGridEh)
  public
    ...
    function HighlightNoDataCellColor(ACol, ARow: Integer; DataCol, DataRow: Integer;
      CellType: TCellAreaTypeEh; AState: TGridDrawState; InMultiSelect: Boolean; var AColor: TColor;
      AFont: TFont): Boolean; override;    
    property GridLineWidth;
  end;
...
Рейтинг: 0 / 0
04.02.2019, 11:43
    #39769125
aford
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
GridLineWidth Ehlib (DBGridEh)
ma1tus,

Не выходит. Только сами ячейки становятся больше-меньше
...
Рейтинг: 0 / 0
04.02.2019, 11:58
    #39769132
aford
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
GridLineWidth Ehlib (DBGridEh)
Оно то работает, но не так как мне нужно... сама толщина линий не увеличивается. Попробовал на новом проекте

Весь код
Код: pascal
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.
unit Unit1;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, DBGridEhGrouping, ToolCtrlsEh,
  DBGridEhToolCtrls, DynVarsEh, MemTableDataEh, Data.DB, MemTableEh, EhLibVCL,
  GridsEh, DBAxisGridsEh, DBGridEh;

type
  TCustomDBGridEh = class(TDBGridEh)
  public
    property GridLineWidth;
  end;

  TDBGridEh = class(TCustomDBGridEh);

  TForm1 = class(TForm)
    DBGrdEh1: TDBGridEh;
    ds1: TDataSource;
    MemTblEh1: TMemTableEh;
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  DBGrdEh1.GridLineWidth:= 25ф;
end;

end.

...
Рейтинг: 0 / 0
04.02.2019, 12:09
    #39769138
aford
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
GridLineWidth Ehlib (DBGridEh)
Хочу заметить, что на обычном гриде (TStringGrid) все прекрасно работает. Вот в чем проблема, в каком методе ехлибовского грида?
...
Рейтинг: 0 / 0
04.02.2019, 12:43
    #39769161
ma1tus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
GridLineWidth Ehlib (DBGridEh)
afordв каком методе ехлибовского гридаходи в отладке, если уж...
D7, EhLib 5.4
...
Рейтинг: 0 / 0
04.02.2019, 15:22
    #39769280
aford
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
GridLineWidth Ehlib (DBGridEh)
ma1tus, у меня не открываются исходники... я прорисовку перекрывал методом тыка, а как через отладчик.. может все же как-то не так делаю? Можно попросить проект, который в последнем сообщении?
...
Рейтинг: 0 / 0
04.02.2019, 15:54
    #39769293
ma1tus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
GridLineWidth Ehlib (DBGridEh)
aford, это твой проект
вся разница, не больше
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics,
  Controls, Forms, Dialogs, ToolCtrlsEh,
  MemTableDataEh, DB, MemTableEh, EhLibVCL,
  GridsEh, DBGridEh, DBGridEhGrouping;

type
  TxCustomDBGridEh = class(DBGridEh.TDBGridEh)
  public
    property GridLineWidth;
  end;

  TDBGridEh = class(TxCustomDBGridEh);

...
Рейтинг: 0 / 0
04.02.2019, 16:29
    #39769311
aford
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
GridLineWidth Ehlib (DBGridEh)
все равно все так же.. сверху dbgrideh, а снизу stringgrid
...
Рейтинг: 0 / 0
04.02.2019, 17:11
    #39769331
ma1tus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
GridLineWidth Ehlib (DBGridEh)
aford,

непонятно: зачем тебе г.мамонта на совр. дельфи, и с чего ты ориентируешься на stringgrid, когда ehgrid вообще другой компонент
...
Рейтинг: 0 / 0
04.02.2019, 17:48
    #39769355
aford
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
GridLineWidth Ehlib (DBGridEh)
ma1tus, ориентируюсь так как он схож с dbgrideh и почти та же прорисовка. Если б была возможность использовать др компонент, то уже давно бы перешел, но вынужден сейчас пользоваться dbgrideh с virtualtreeview. Хочу нарисовать на нем кнопки в месте ячеек и иметь возможнсть задавать расстояние между ними, вот как-то так)
...
Рейтинг: 0 / 0
04.02.2019, 17:58
    #39769363
ma1tus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
GridLineWidth Ehlib (DBGridEh)
afordкнопки в месте ячеек и иметь возможнсть задавать расстояние между ними
TGridPanel
...
Рейтинг: 0 / 0
08.02.2019, 08:38
    #39770910
aford
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
GridLineWidth Ehlib (DBGridEh)
ma1tus, спасибо за помощь. Это хороший компонент, пользовался, но не совсем подходит для моих целей. Решил задачу все же через
ехлибовскую таблицу, но не с небольшими ограничениями. Когда будет достаточно времени - перепишу с использованием Virtual Treeview.
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / GridLineWidth Ehlib (DBGridEh) / 16 сообщений из 16, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]