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

Заголовок TDBGrid в две строки

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

Заголовок TDBGrid в две строки

Оформил: DeeCo
Автор: http://www.swissdelphicenter.ch

type
   TAccessDBGrid = class(TDBGrid);

 procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject;
   const Rect: TRect; DataCol: Integer; Column: TColumn;
   State: TGridDrawState);
 var
   S1, S2: String;
 begin
   with TAccessDBGrid(DBGrid1) do
   begin
     // Increase title height 
    // Titelhohe vergrossern 
    RowHeights[0] := 32;

     Canvas.Brush.Style := bsClear;

     // Column Titles 
    // Spalten Titel setzen 
    case Column.Index of
     0: begin
          Column.Title.Caption := '';
          S1 := 'Row 1';
          S2 := 'Row 2';
        end;
     1: begin
          Column.Title.Caption := '';
          S1 := 'Row 1';
          S2 := 'Row 2';
        end;
     end;
     // write title: 
    // Titel ausgeben: 
    Canvas.TextOut(Rect.Left+2, 2, S1);
     Canvas.TextOut(Rect.Left+2, 16, S2);
   end;
 end;

Приведенный код - часть проекта на Delphi, который настраивает внешний вид компонента TDBGrid. Главная цель - установить заголовки столбцов и увеличить высоту первой строки.

Разбор кода:

  1. Определяется класс TAccessDBGrid, наследуемый от TDBGrid.
  2. В единице Form1 переопределяется событие DrawColumnCell компонента DBGrid1.
  3. В этом обработчике события:
    • Увеличивается высота первой строки до 32 пикселей с помощью RowHeights[0] := 32;.
    • Очищается стиль кисти канвы (Canvas.Brush.Style := bsClear;).
    • Устанавливается заголовок для столбцов 0 и 1. Заголовки - пустые строки (Column.Title.Caption := '';) и два примера значений (S1 := 'Row 1'; и S2 := 'Row 2';).
    • Написывается текст заголовка на канву с помощью Canvas.TextOut.
  4. В конце вызывается блок кода with TAccessDBGrid(DBGrid1) do, который позволяет доступ к свойствам класса TAccessDBGrid.

Вывод этого кода будет сеткой с двумя столбцами и заголовками, установленными в "Row 1" и "Row 2". Высота первой строки также увеличена.

Одной из возможных альтернатив может быть использование отдельного компонента для рендеринга custom title строк, а не переопределение события DrawColumnCell. Это подход будет обеспечивать больше гибкости и повторяемости в коде.

В статье рассматривается пример настройки заголовка TDBGrid в двух строках с помощью изменения высоты строки и отображения текста на canvas.


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

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




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


:: Главная :: TDBGrid ::


реклама


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

Время компиляции файла: 2024-12-22 20:14:06
2025-06-16 15:36:55/0.0031261444091797/0