Оригинальный DVD-ROM: eXeL@B DVD !
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
выпущен 2 сентября!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

ПРОГРАММИРОВАНИЕ НА C и С++



Слушай, дружище, зачем так мучиться с этим языком С++, ты ведь не Билл Гейтс. Возьми тот же Python и программируй, он кроссплатформенный, под Windows тоже работает. Я сам давно заметил: то что на Си пишешь в страницу кода, на питоне решается в одну-две строки. При том, питон намного проще, я его сам недавно изучил по видеокурсу вот этому. Кстати, автор отлично там объясняет. Буквально день-два и уже будешь писать на нём, чего не скажешь про сложный С++.

Visual C++.NET
Урок 19. Получение точного размера надписи

Текст в контекст устройства, как известно, можно вывести методом TextOut класса CDC. При этом часто требуется узнать длину и высоту текста - т. е. сколько места он будет занимать на экране. Если высоту еще узнать можно - она будет всегда одна и та же при одном и том же шрифте, то с длиной дело немного сложнее - хотя бы потому, что разные буквы одного и того же шрифта могут иметь разную ширину.

Но все не так страшно - для этого существует специальная функция GetTextExtent. Она возвращает результат типа CSize, в котором и содержаться ширина и высота текста (в пикселах).

Вот пример ее использования:

void CbitmapView::OnDraw(CDC* pDC)
 
 {
 
     ...
 
     // Формируем строку для вывода на форму.
 
     CString s = "Some Text";
 
     // Получаем размер строки s.
 
     CSize size = pDC->GetTextExtent(s);
 
     // Рисуем прямоегольник с отступом 2 пиксела.
 
     pDC->Rectangle(10-2, 10-2, 10+size.cx+2, 10+size.cy+2);
 
     // Выводим надпись.
 
     pDC->TextOut(10, 10, s);
 
 }

Компилируем и запускаем программу. Точно вокруг текста появится рамочка:

Текст в рамке

Если же мы поменяем сам текст (и его длину соответственно), то размеры рамочки тоже поменяются.



<< ВЕРНУТЬСЯ В ПОДРАЗДЕЛ

<< ВЕРНУТЬСЯ В ОГЛАВЛЕНИЕ




Материалы находятся на сайте https://exelab.ru/pro/



Оригинальный DVD-ROM: eXeL@B DVD !


Вы находитесь на EXELAB.rU
Проект ReactOS