Главная страница
    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.052 c
2-1346081168
Dennis I. Komarov
2012-08-27 19:26
2013.03.22
Попинайте код, предложите альтернативы :)


15-1350406340
stas
2012-10-16 20:52
2013.03.22
FireMonkey приложение под ios


15-1347978249
alexdn
2012-09-18 18:24
2013.03.22
Серьёзный вопрос


15-1339946385
Artem
2012-06-17 19:19
2013.03.22
Откуда-то появился Norton Internet Security


15-1329304162
Сергей М.
2012-02-15 15:09
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский