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

Управление настройками шрифта

Delphi , Графика и Игры , Шрифты

Управление настройками шрифта


{
Данный код изменяет стиль шрифта поля редактирования,
если оно выбрано. Может быть адаприрован для управления
шрифтами в других объектах.

Расположите на форме Edit(Edit1) и ListBox(ListBox1).
Добавьте следующие элементы (Items) к ListBox:
fsBold
fsItalic
fsUnderLine
fsStrikeOut
}

procedure TForm1.ListBox1Click(Sender: TObject);
var
  X: Integer;
type
  TLookUpRec = record
    Name: string;
    Data: TFontStyle;
  end;
const
  LookUpTable: array[1..4] of TLookUpRec =
  ((Name: 'fsBold'; Data: fsBold),
    (Name: 'fsItalic'; Data: fsItalic),
    (Name: 'fsUnderline'; Data: fsUnderline),
    (Name: 'fsStrikeOut'; Data: fsStrikeOut));
begin
  X := ListBox1.ItemIndex;
  Edit1.Text := ListBox1.Items[X];
  Edit1.Font.Style := [LookUpTable[ListBox1.ItemIndex + 1].Data];
end;

Программный код на Delphi, предназначенный для управления стилями шрифта в поле редактирования (Edit1) и списке элементов (ListBox1). Когда пользователь выбирает элемент в списке, процедура ListBox1Click изменяет стиль шрифта поля редактирования соответствующим образом.

Вот как это работает:

  1. Массив LookUpTable содержит предопределенные записи, которые сопоставляют имена элементов списка с соответствующими стилями шрифта.
  2. Когда пользователь выбирает элемент в списке, процедура ListBox1Click активируется.
  3. Эта процедура получает индекс выбранного элемента с помощью ListBox1.ItemIndex.
  4. Затем она устанавливает текст поля редактирования (Edit1) в имя выбранного элемента из списка с помощью Edit1.Text := ListBox1.Items[X];.
  5. Наконец, она применяет стиль шрифта, соответствующий выбранному элементу, установив Edit1.Font.Style в значение из LookUpTable.

Вот улучшенная версия кода с некоторыми предложениями:

procedure TForm1.ListBox1Click(Sender: TObject);
var
  X: Integer;
  FontStyle: TFontStyle;
begin
  X := ListBox1.ItemIndex;

  // Получаем стиль шрифта, соответствующий выбранному элементу
  if X >= 0 and X < Length(LookUpTable) then
    FontStyle := LookUpTable[X + 1].Data
  else
    FontStyle := [];

  Edit1.Text := ListBox1.Items[X];
  Edit1.Font.Style := FontStyle;
end;

const
  LookUpTable: array[1..4] of TLookUpRec = (
      (Name: 'fsBold'; Data: fsBold),
      (Name: 'fsItalic'; Data: fsItalic),
      (Name: 'fsUnderline'; Data: fsUnderline),
      (Name: 'fsStrikeOut'; Data: fsStrikeOut));

В улучшенной версии:

  1. Я добавил переменную FontStyle для хранения стиля шрифта, соответствующего выбранному элементу.
  2. В процедуре я использовал условный оператор if-then-else, чтобы обеспечить установку FontStyle только в том случае, если индекс выбранного элемента находится в пределах границ LookUpTable.
  3. Я удалил ненужное присваивание Edit1.Text := Edit1.Items[X];, так как оно не изменяет ничего в этом контексте.

Эти изменения делают код более читаемым и поддерживаемым, но в целом оригинальный код работает корректно.

Код на примере позволяет управлять настройками шрифта поля редактирования, выбранного из списка ListBox, путем изменения стиля шрифта в зависимости от выбранной строки списка.


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

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




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


:: Главная :: Шрифты ::


реклама


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

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