Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как вывести строку вертикально, Вывод текста 
:(
    Опции темы
Nastya
  Дата 27.3.2002, 09:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Комодератор
Сообщений: 1287
Регистрация: 27.3.2002
Где: Мариуполь

Репутация: 5
Всего: 44



Пишу на VC++. Как вывести строку текста вертикально. Нужно для чертежа (конструкторской документации).
В MSDN ничего путного не нашла.


--------------------
Что бы понять рекурсию, надо понять рекурсию

"Профессионал - это человек сделавший все возможные ошибки в очень узкой области". Н.Бор
PM MAIL   Вверх
Vit
Дата 27.3.2002, 16:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

Репутация: нет
Всего: 207



Рисовать канву надо, а стандартно вроде никак


--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
Dicobraz
Дата 27.3.2002, 17:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 79
Регистрация: 26.3.2002
Где: Пермь

Репутация: нет
Всего: нет



не, ну что значит "стандартно"?
Код

void CTmpView::OnDraw(CDC* pDC)
{
CTmpDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: add draw code for native data here
UINT angle = 900;
LOGFONT lf;
(pDC->GetCurrentFont())->GetLogFont(&lf);
lf.lfEscapement = angle;
lf.lfOutPrecision = OUT_TT_ONLY_PRECIS;

CFont font;
font.CreateFontIndirect(&lf);

pDC->SelectObject(&font);
CRect rect;
GetClientRect ( &rect );
rect.OffsetRect(100, 100);
pDC->DrawText(_T("0123456789"), rect, DT_NOCLIP);
}

достаточно стандартно? :)
информация здесь
PM MAIL ICQ   Вверх
Dicobraz
Дата 27.3.2002, 17:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 79
Регистрация: 26.3.2002
Где: Пермь

Репутация: нет
Всего: нет



Кстати, если разработка под Win2k или WinNT, то можно и так:
Код

void CTmpView::OnDraw(CDC* pDC)
{
CTmpDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: add draw code for native data here
UINT angle = 900;
LOGFONT lf;
(pDC->GetCurrentFont())->GetLogFont(&lf);
::SetGraphicsMode(pDC->m_hDC, GM_ADVANCED);
lf.lfEscapement = angle;
lf.lfOrientation = 0;
lf.lfOutPrecision = OUT_TT_ONLY_PRECIS;

CFont font;
font.CreateFontIndirect(&lf);

pDC->SelectObject(&font);
CRect rect;
GetClientRect ( &rect );
rect.OffsetRect(100, 100);
pDC->DrawText(_T("0123456789"), rect, DT_NOCLIP);
}

Почему только под NT? Цитирую:
Windows NT/ 2000: Sets the advanced graphics mode that allows world transformations. This value must be specified if the application will set or modify the world transformation for the specified device context. In this mode all graphics, including text output, fully conform to the world-to-device transformation specified in the device context.
Windows 95/98: The GM_ADVANCED value is not supported. When playing enhanced metafiles, Windows 95/98 attempts to make enhanced metafiles on Windows 95/98 look the same as they do on Windows NT/Windows 2000. To accomplish this, Windows 95/98 may simulate GM_ADVANCED mode when playing specific enhanced metafile records.

Удачи!
PM MAIL ICQ   Вверх
Fantasist
Дата 27.3.2002, 19:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лентяй
***


Профиль
Группа: Участник Клуба
Сообщений: 1517
Регистрация: 24.3.2002

Репутация: 4
Всего: 41



Ага, ну вот уже и ответели.  ???   :D

Если это, конечно, то, что подвазумевалось в вопросе.


--------------------
Волны гасят ветер...
PM MAIL   Вверх
Nastya
Дата 4.4.2002, 08:06 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Большое спасибо!
Я искала функцию, а оказывается все дело в шрифте.
Только я сделала так
lf.lfEscapement = -900;
чтоб уж совсем солидно.

Еще раз большое спасибо.
  Вверх
Fantasist
Дата 4.4.2002, 08:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лентяй
***


Профиль
Группа: Участник Клуба
Сообщений: 1517
Регистрация: 24.3.2002

Репутация: 4
Всего: 41



Ага....
А я то думал что уж надобность отпала, а вначале то было вроде как срочно.  :)

Флейм - забить меня!


--------------------
Волны гасят ветер...
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0449 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.