Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения
KANSoftWare

Включение табуляторов в Listbox

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

Включение табуляторов в Listbox


unit TabsLBox;
{включение табуляторов в listbox}
interface

uses WinTypes, Classes, Controls, StdCtrls;

type
  TMyListBox = class(TListBox)

  protected
    procedure CreateParams(var Params: TCreateParams); override;
  end;

procedure register;

implementation

procedure register;
begin
  RegisterComponents('Samples', [TMyListBox]);
end;

procedure TMyListBox.CreateParams(var Params: TCreateParams);
begin
  inherited CreateParams(Params);
  Params.Style := Params.Style or LBS_USETABSTOPS;
end;

end.

Here's a translation of the text into Russian:

Интерфейс Секция интерфейса объявляет класс TMyListBox, который наследуется от TListBox. Класс имеет один метод: CreateParams, который используется для настройки параметров создания списка.

Implementation В секции реализации есть два процедура:

  • register: Эта процедура регистрирует пользовательский компонент списка с Delphi IDE, чтобы он мог быть добавлен в формы.
  • TMyListBox.CreateParams: Этот метод переопределяет поведение метода CreateParams в TListBox. Он устанавливает свойство Style списка на включение табуляции (LBS_UESETABSTOPS) путем битового OR-оператора с существующим стилем.

Анализ кода Код хорошо структурирован и легко понятен. Однако, я бы предложил несколько улучшений:

  1. Конвенция именования: Код использует обе PascalCase (например, TMyListBox) и camelCase (например, register). Лучше придерживаться консистентной конвенции именования в коде.
  2. Организация кода: Секция реализации имеет два процедура, которые seem unrelated. Рассмотрите возможность разделения их на отдельные модули или единицы для лучшей организации.
  3. Документация: Хотя код имеет краткомментарий, было бы полезно включить более подробные комментарии, объясняющие, что каждый участок кода делает.

Альтернативное решение Если вы хотите создать список с табуляцией без написания.custom code, вы можете просто использовать стиль LBS_UESETABSTOPS при создании списка. Например:

MyListBox  := TListBox.Create(Self);
MyListBox.Style  := MyListBox.Style or LBS_UESETABSTOPS;

Эта APPROACH более прямолинейна и требует меньше кода.

В статье описывается способ включения табуляторов в Listbox с помощью overridden метода CreateParams в классе TListBox и добавления стиля LBS_USETABSTOPS к параметрам создания компонента.


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


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

заголовок

e-mail

Ваше имя

Сообщение

Введите код




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



:: Главная :: Списки ::


реклама



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

Время компиляции файла: 2024-05-10 07:13:18
2024-05-11 05:48:42/0.0074291229248047/2