Главная страница
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.163 c
3-1163802142
diofant
2006-11-18 01:22
2007.02.18
Olap и IB


2-1170189559
alexcoler
2007-01-30 23:39
2007.02.18
автообновление в DBGrid


3-1164605686
Kvinta
2006-11-27 08:34
2007.02.18
DBGrid. Запомнить позицию.


15-1169798133
leonidus
2007-01-26 10:55
2007.02.18
Помогите установить в D7 компонент EmbeddedWB


15-1169710131
pasha_golub
2007-01-25 10:28
2007.02.18
Section 508 для программ