169 похожих чатов

Всем привет! как узнать, что текст в TSkLabel был

выведен сокращенным ?
Есть функция для TLabel которая позволяет определить , что текст выведен сокращенным
function TFrmMain.IsTextTruncated(Lbl: TLabel): Boolean;
begin
// Получаем ширину текста без многоточия
// Сравниваем ширину текста с шириной самого Label
Result := Lbl.Canvas.TextWidth(Lbl.Caption) > Lbl.Width;
end;
Как подобное сделать для TSkLabel (Skia)?

6 ответов

14 просмотров
DELPHI SOLUTIONS- Автор вопроса

Пока нашёл такое решение function TFrmMain.IsTextTruncatedSk(Lbl: TSkLabel): Boolean; var SkLbl: TSkLabel; begin SkLbl := TSkLabel.Create(Nil); SkLbl.AutoSize := true; SkLbl.TextSettings.Font.Size := Lbl.TextSettings.Font.Size; SkLbl.Caption := Lbl.Caption; Result := SkLbl.Width > Lbl.Width; SkLbl.Free; end;

DELPHI SOLUTIONS- Автор вопроса
DELPHI SOLUTIONS
Пока нашёл такое решение function TFrmMain.IsTextT...

Теперь возникает другой вопрос не зашкварно создавать Объект и удалять Объект, если эта фукция будет вызываться тысячи раз?

DELPHI SOLUTIONS
Теперь возникает другой вопрос не зашкварно создав...

создай один раз в начале. в конце один раз удали )

DELPHI SOLUTIONS
Пока нашёл такое решение function TFrmMain.IsTextT...

вариант с запоминанием предыдущей ширины, затем автосайз, и сравнение новой ширины с предыдущей не катит? с последующим возвратом ширины на место ) все на том же лейбле, не создавая нового

DELPHI SOLUTIONS- Автор вопроса
Булат Салимов
вариант с запоминанием предыдущей ширины, затем ав...

Мерцать будет, а когда на форме сотня label будет светомузыка 😁

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта