Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];

Вниз

Использование TCanvas для определения размера шрифта   Найти похожие ветки 

 
Yl2011   (2012-04-05 12:48) [0]

Здравствуйте!
Вот есть некий текст, ширину которого мне необходимо узнать.
Но в используемом компоненте “Canvas” работает некорректно
, поэтому мне необходимо создать свой и в нем все изменить с тем шрифтом и размером шрифта, который используется моем глючном компоненте, а потом приплюсовать эту ширину в компонент. Вот когда я делаю так, то не работает. Пишет «Canvas doesn’t allow drawning»:

Var
Ac:TCanvas;
begin
Ac:=TCanvas.Create;
Ac.Font.Name:="Arial";
Ac.Font.size:=12;
Showmessage(Inttostr(Ac.TextWidth("1111111111122222222")));
end;

А как правильно?


 
webpauk ©   (2012-04-05 12:55) [1]

Ac:=TCanvas.Create;
Ac.Handle:=GetDC(Application.Handle);


 
webpauk ©   (2012-04-05 12:56) [2]

вообще то это я для примера. тебе необходимо определить контекст канваса


 
Yl2011   (2012-04-05 13:10) [3]

Ваш пример работает!
А что это за строка:
Ac.Handle:=GetDC(Application.Handle);


 
webpauk ©   (2012-04-05 13:13) [4]

на абстрактном канвасе и возникает абстрактная ошибка. )))
канвас должен быть с чем-то связан (контекст)


 
webpauk ©   (2012-04-05 13:18) [5]


> Но в используемом компоненте “Canvas” работает некорректно

судя по всему надо сделать Ac.Handle:=GetDC(Component.Handle);


 
ford ©   (2012-04-06 21:18) [6]

для определения длины текста в пикселях, я использовал следующее
While DBGrid1.Canvas.TextWidth(nme)<200 do nme:=nme+" ";
где nme это строка с выводимым текстом

В вашем случае надо прислушаться к Yl2011
хотя, странно, но не ужели у Вас нет ни одного визуального компонента, наследника от TForm?



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.065 c
2-1343362241
Pcrepair
2012-07-27 08:10
2013.03.22
Сортировка строк. сложный случай


15-1337884316
Bluejohn
2012-05-24 22:31
2013.03.22
Правильно ли сделан список?


2-1340710139
Xmen
2012-06-26 15:28
2013.03.22
Работа с потоком и как подружится с FTP


4-1259213007
Alex_C
2009-11-26 08:23
2013.03.22
Работа с LPT-портом


2-1342612696
Светлана
2012-07-18 15:58
2013.03.22
Контекстное и главное меню





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский