Главная страница
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.052 c
3-1164381708
Вольный Стрелок
2006-11-24 18:21
2007.02.18
TADOConnection.Create ругается "не произведен вызов CoInitialize"


2-1170234250
Radgar
2007-01-31 12:04
2007.02.18
Прозрачность фона в TImage


6-1158054628
DelphiN!
2006-09-12 13:50
2007.02.18
Не проходит POST запрос


3-1164715445
AndyTh
2006-11-28 15:04
2007.02.18
Данные в Excel


2-1170397335
Extar
2007-02-02 09:22
2007.02.18
Системная ошибка под 1sp WinXP