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

**Исправление размера шрифта компонента TSpeedButton в Delphi 10.4.1**

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

Исправление размера шрифта компонента TSpeedButton в Delphi 10.4.1

При обновлении среды разработки с Delphi 10.3 до Delphi 10.4.1 разработчики столкнулись с неожиданной проблемой: компонент TSpeedButton перестал корректно отображать размер шрифта, заданный для формы или самого компонента. Вместо этого, шрифт отображается в размере по умолчанию, равном 8 пунктам.

Описание проблемы

Разработчики создали новый VCL-форму с использованием TButton, TBitBtn и TSpeedButton. При изменении размера шрифта формы на 11 пунктов, TSpeedButton игнорировал это изменение. Даже при явном установке размера шрифта для TSpeedButton в 20 пунктов, компонент продолжал отображать текст в размере шрифта 8 пунктов. Это поведение наблюдалось даже при включенном свойстве ParentFont.

Подтвержденный ответ

Проблема, с которой столкнулись разработчики, является известным багом в Delphi 10.4.1. Это подтверждается информацией в базе отчетов об ошибках Embarcadero (ссылка на баг-трекер: RSP-30755). Ожидается, что данный баг будет исправлен в последующем обновлении Delphi до версии 10.4.2.

Альтернативные решения

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

  1. Замена TSpeedButton на TButton или TBitBtn. Это позволит вам использовать компоненты, которые корректно отображают размер шрифта.

  2. Подождать выпуска обновленной версии Delphi без данного бага. Это наиболее пассивный вариант, который предполагает ожидание исправления от Embarcadero.

  3. Попытка самостоятельного исправления компонента. Однако, учитывая, что это баг, который должен был быть исправлен разработчиками, тратить время на его устранение может быть нерационально.

Пример кода

Для демонстрации, как должен работать TSpeedButton после исправления бага, приведем пример кода:

unit Unit1;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variant, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.ExtCtrls;

type
  TForm1 = class(TForm)
    SpeedButton1: TSpeedButton;
    procedure FormCreate(Sender: TObject);
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  // Установка размера шрифта для формы
  Self.Font.Size := 11;

  // Установка свойства ParentFont для TSpeedButton в True
  SpeedButton1.ParentFont := True;

  // Установка текста для TSpeedButton
  SpeedButton1.Caption := 'Пример текста';
end;

end.

После обновления среды разработки до версии 10.4.2, код выше должен корректно отображать текст в TSpeedButton с размером шрифта, заданным для формы или самого компонента.

Заключение

Следуя инструкциям и рекомендациям, разработчики смогут избежать проблем с отображением размера шрифта в компоненте TSpeedButton в Delphi 10.4.1. Ожидается, что с выпуском обновления Delphi 10.4.2, данный баг будет устранен, и разработчики смогут продолжить работу без дополнительных ограничений.

Создано по материалам из источника по ссылке.

Разработчики столкнулись с проблемой неправильного отображения размера шрифта компонента TSpeedButton после обновления Delphi до версии 10.4.1.


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

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




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


:: Главная :: Кнопки ::


реклама


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

Время компиляции файла: 2024-12-22 20:14:06
2024-12-27 00:11:37/0.0032100677490234/0