Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

TVertGrid — TStringGrid с возможностью заполнения в design-time

Delphi , Компоненты и Классы , TStringGrid и TDrawGrid

TVertGrid — TStringGrid с возможностью заполнения в design-time

Автор: Дмитрий Логинов

Компонент TVertGrid представляет собой модифицированный TStringGrid.

В стандартный компонент добавлена возможность в режиме Design-time заполнять первую колонку (property Labels) и первую строку (property Titles) грида.

Если набранных строк в Labels больше, чем задано количество строк самого TVertGrid, то они будут автоматически добавлены. Аналогично и с количеством колонок (Titles). При уменьшении строк в свойствах Labels и Titles, количество строк и колонок самого грида не будет уменьшаться.

На скриншоте показано редактирование списка заголовков колонок. Количество строк в Titles это количество заполненных колонок первой строки.

Компонент очень прост и вы можете модифицировать его по своему собственному желанию.

Скачать VertGrid.Zip (1K)

Исходный код компонента:


unit VertGrid;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Grids, stdctrls;

type
  TVertGrid = class(TStringGrid)
  protected
    { Protected declarations }
    procedure SetLines(Value: TStrings);
    function GetLines: TStrings;
    procedure SetTitles(Value: TStrings);
    function GetTitles: TStrings;
  public
    constructor Create(AOwner: TComponent); override;
  published

    // Первая колонка
    property Labels: TStrings read GetLines write SetLines;
    // Первая строка
    property Titles: TStrings read GetTitles write SetTitles;
  end;

procedure Register;

implementation

procedure Register;
begin
  RegisterComponents('Samples', [TVertGrid]);
end;

constructor TVertGrid.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);

  ColCount := 2;
  DefaultRowHeight := 16;
end;

procedure TVertGrid.SetLines(Value: TStrings);
begin
  if Value.Count > RowCount then
    RowCount := Value.Count;

  Cols[0].Assign(Value);
end;

procedure TVertGrid.SetTitles(Value: TStrings);
begin
  if Value.Count > ColCount then
    ColCount := Value.Count;

  Rows[0].Assign(Value);
end;

function TVertGrid.GetLines: TStrings;
begin
  result := Cols[0];
end;

function TVertGrid.GetTitles: TStrings;
begin
  result := Rows[0];
end;

end.

Компонент TVertGrid - модифицированный TStringGrid, позволяющий заполнять первую колонку и строку в режиме design-time.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: TStringGrid и TDrawGrid ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-19 13:29:56
2024-11-21 11:43:11/0.0052809715270996/1