Используя стандартную метку управления единственным вариантом является использование два таких элементов управления, один с Font.Style
включая fsBold, а другие нет.
Поместите первую, полужирная метка затем до тех пор, пока вы оставляете/установить AutoSize
свойство верно, то Width
свойство покажет вам ширину:
// Where:
//
// - boldLabel is a created, initialised and positioned
// label with bold text
//
// - normalLabel is a created and initialised label which
// has not yet been positioned (horizontally)
//
// - spacingPixels is the distance you wish to maintain
// between the two
normalLabel.Position.X := boldLabel.Position.X + boldLabel.Width + spacingPixels;
Есть ряд контрольных меток третьих сторон , многие из них свободно + с открытым исходным кодом (для VCL [см. ниже]), которые поддерживают разную степень разметки на этикетке. Для FMX могут быть аналогичные реализации.
Для проектов VCL вы можете проверить the JediVCL library, который включает в себя ярлык, который поддерживает не только жирный шрифт, но и другую, хотя и ограниченную разметку HTML. Если это интересно, элемент управления, который вы ищете в этой библиотеке, - TJvHTLabel.
NB. В будущем ref: Вы не указываете, является ли ваш проект FMX или VCL, но из-за использования свойства Position
оно может быть FMX. Для вопросов, связанных с контролем, используемая структура может быть значительным фактором и должна упоминаться, чтобы избежать выявления ответов, которые могут быть неактуальными.
Простейшим решением является использование отдельных меток. –
Я создаю это во время выполнения, поэтому, если я использую 2 ярлыка, мне нужно знать, где заканчивается текст первого. Как я могу это знать? –
label1.Canvas.TextWidth (label1.Caption) –