Форум: "Начинающим";
Текущий архив: 2007.02.18;
Скачать: [xml.tar.bz2];
ВнизПредустановка свойств нового компанента...... Найти похожие ветки
← →
Chelovek (2007-02-02 08:37) [0]При написании нового компонента (наследние от TStringGrid) необходимо выставить некоторые параметры. Это количество колонок, текст (заголовки колонок) размер по высоте-ширине. Реализовал это так:
constructor TMyGrid.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
Self.Options := [goFixedVertLine,
goFixedHorzLine,
goVertLine,
goHorzLine,
goRowSizing,
goRowSelect];
Self.DefaultRowHeight := 17;
Self.RowCount := 1;
Self.ColCount := 3;
Self.FixedCols := 0;
Self.Cells[0, 0] := "Номер 1";
Self.Cells[1, 0] := "Номер 2";
Self.Cells[2, 0] := "Номер 3";
Self.ColWidths[0] := 150;
Self.ColWidths[1] := 150;
Self.ColWidths[2] := 150;
end;
end;
При добавлении этого компонента на форму проекта выходит сообщение: "Control "" has not parent windows." и компонент не добавляется на форму.
Если запретить выполнять этот код (if (not (csLoading in ComponentState)) then begin ... end;
), то компонент добавляется, но такой же как дефолтныйTStringGrid
.
Ворос в том как реализовать установку нужных мне свойств во время дизайна проекта?
← →
Комбинатор (2007-02-02 11:16) [1]Ничего не менял. Всё работает (D6). Никакой ошибки.
unit OwnStringGrid;
interface
uses
Windows, Messages, SysUtils, Classes, Controls, Grids;
type
TOwnStringGrid = class(TStringGrid)
private
{ Private declarations }
protected
{ Protected declarations }
public
constructor Create(AOwner: TComponent); override;
published
{ Published declarations }
end;
procedure Register;
implementation
procedure Register;
begin
RegisterComponents("Samples", [TOwnStringGrid]);
end;
constructor TOwnStringGrid.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
Self.Options := [goFixedVertLine,
goFixedHorzLine,
goVertLine,
goHorzLine,
goRowSizing,
goRowSelect];
Self.DefaultRowHeight := 17;
Self.RowCount := 1;
Self.ColCount := 3;
Self.FixedCols := 0;
Self.Cells[0, 0] := "Íîìåð 1";
Self.Cells[1, 0] := "Íîìåð 2";
Self.Cells[2, 0] := "Íîìåð 3";
Self.ColWidths[0] := 150;
Self.ColWidths[1] := 150;
Self.ColWidths[2] := 150;
end;
end.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.02.18;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.064 c