Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.02.18;
Скачать: CL | DM;

Вниз

Предустановка свойств нового компанента......   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.108 c
2-1170059211
novill
2007-01-29 11:26
2007.02.18
Почему консольная программа некорректно выводит русский текст?


10-1129708059
SupKlo
2005-10-19 11:47
2007.02.18
Как передать картинку с клиента на сервер через DCOM


2-1169710706
inkvizitor
2007-01-25 10:38
2007.02.18
3D графика


15-1170042777
Slider007
2007-01-29 06:52
2007.02.18
С днем рождения ! 29 января


2-1170158201
Long1
2007-01-30 14:56
2007.02.18
Поиск / Исключение / Замена