Есть ли лаконичный способ доступа к холсту окна подсказки? Я не хочу ничего рисовать на холсте - я просто назначу свойству Hint
компонента, но я хочу узнать ширину текста, который будет выполнять Windows, используя любой шрифт, который используется для текста окна подсказки.Delphi - доступ к холсту окна подсказки
* Причина *
Я пытаюсь построить намек окна с закладками столбцов в них, например,
SomeControl.Hint :=
'Item 1: ' + #9 + 'Tom' + #13 +
'Item 2: ' + #9 + 'Dick' + #13 +
'Another Item: ' + #9 + 'Harry' + #13 ;
и я хочу, чтобы имена на всех вкладках находились друг под другом. Пример, показанный выше, будет правильно отображаться только в том случае, если шрифт подсказки является однораздельным. Я могу достичь этого с заданным пропорциональным шрифтом методом проб и ошибок, заполнив строки нужным количеством пробелов, но я хочу, чтобы он работал для любого шрифта. Большинство примеров, которые я видел, похоже, предназначены для изменения внешнего вида окна подсказки - все, что я хочу сделать, это позвонить в Canvas.TextWidth
, чтобы я мог рассчитать, какое дополнение нужно добавить для «нажимать» строку на следующую вкладку стоп.
* UPDATE *
я трудился под недоразумению - Я предполагал, что контроль намек уважал символ табуляции, но на самом деле, кажется, игнорировать его. Компонент TLabel, с другой стороны, уважает символ табуляции - он, кажется, переместится на следующий кратный 10 или около того ширины пространства.
плюс один для первого класса ответ Том Дик и Гарри ссылка –