Карта сайта 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 раздела Компоненты и Классы TStringGrid и TDrawGrid может быть полезна для разработчиков на Delphi и FreePascal.


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


Ваше мнение или вопрос к статье в виде простого текста (Tag <a href=... Disabled). Все комментарии модерируются, модератор оставляет за собой право удалить непонравившейся ему комментарий.

заголовок

e-mail

Ваше имя

Сообщение

Введите код




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



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


реклама



©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru Rambler's Top100
29.03.2024 14:30:49/0.036955118179321/2