Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
#1

Поясните последнюю строку - C++

14.04.2013, 15:15. Просмотров 238. Ответов 2
Метки нет (Все метки)

EZFONT по Петзолдту.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
HFONT                         EasyFontCreate                 (HDC                    Context     ,
                                                              std::string            FontName    ,
                                                              double                 Height      ,
                                                              double                 Width       ,
                                                              int                    Attributes  )
{
 double     HorizontalResolution;
 double     VerticalResolution;
 HFONT      Result;
 LOGFONT    LogicalFont;
 POINT      Point;
 TEXTMETRIC TextMetrics;
 SaveDC(Context);
 SetGraphicsMode(Context, GM_ADVANCED);
 ModifyWorldTransform(Context, NULL, MWT_IDENTITY);
 SetViewportOrgEx(Context, 0, 0, NULL);
 SetWindowOrgEx  (Context, 0, 0, NULL);
 HorizontalResolution=(double)(25.4*((double)GetDeviceCaps(Context, HORZRES)));
 VerticalResolution  =(double)(25.4*((double)GetDeviceCaps(Context, VERTRES)));
 Point.x=(int)(Width *HorizontalResolution*1000/72.0);
 Point.y=(int)(Height*VerticalResolution  *1000/72.0);
 DPtoLP(Context, &Point, 1);
 LogicalFont.lfHeight        =-(int)(((double)abs(Point.y))/1000+0.5);
 LogicalFont.lfWidth         = (int)(((double)abs(Point.x))/1000+0.5);
 LogicalFont.lfEscapement    = 0;
 LogicalFont.lfOrientation   = 0;
 LogicalFont.lfWeight        =(Attributes&IDFABold        )*700;
 LogicalFont.lfItalic        =(Attributes&IDFAItalic   >>1);
 LogicalFont.lfUnderline     =(Attributes&IDFAItalic   >>2);
 LogicalFont.lfStrikeOut     =(Attributes&IDFAStrikeOut>>3);
 LogicalFont.lfCharSet       = 0;
 LogicalFont.lfOutPrecision  = 0;
 LogicalFont.lfClipPrecision = 0;
 LogicalFont.lfPitchAndFamily= 0;
 strcpy(LogicalFont.lpFaceName, FontName.c_str());
. strcpy копирует нуль-терминальную строку. А куда? Буфер вообще существует? Может его выделить? Или лучше скопировать указатель?
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.04.2013, 15:15     Поясните последнюю строку
Посмотрите здесь:

Поясните строку пожалуйста - C++
Предположим все переменныe равны 5. вот есть такие строки product += x++; qu += ++x; я понимаю это так product = product + x++;...

Вывести последнюю строку из файла - C++
Здравствуйте, пишу на этом форуме впервые. Я недавно начал изучать С++, по-этому знаний мало, может-ли кто-нибудь объяснить, как вывести...

Удалить последнюю строку из файла - C++
Дан непустой текстовый файл. Удалить из него последнюю строку.

Считать последнюю строку файла - C++
Доброго времени суток! есть файл который имеет структуру(ниже), надо считать данные. До последней строки получается. Как быть с последней...

В матрице переместить последнюю строку на место первой - C++
Помогите решить, пожалуйста. а) в данной матрице переместить последнюю строку на место первой, а все другие опустить на один. б) дано...

Переставить местами первую и последнюю строку массива - C++
Помогите пожалуйста найти ошиибкууу :help: Borland C++. Задание: Задан целочисленный массив А размерности NхM. Переставьте местами первую...

Почему последнюю строку из файла выводит дважды? - C++
привет всем! скажите пожалуйста почему последнюю строку выводит 2 раза? FILE *f; if(!(f = fopen("keys.txt","r"))) ...

Как регулярно считывать последнюю строку в файле - C++
Добрый день. Имеется текстовый файл. Он постоянно обновляется и в его конец дописываются строки. Необходимо считывать новую строку...

Как на экран вывести последнюю строку матрицы - C++
Си или С++

Поменять местами последнюю строку и последний столбец массива - C++
В основной программе осуществить ввод двумерного массива с клавиатуры. Написать функции, которые -выводят массив на экран; -меняет...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
w8me
496 / 11 / 1
Регистрация: 10.04.2013
Сообщений: 44
14.04.2013, 15:30     Поясните последнюю строку #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
typedef struct tagLOGFONT {
  LONG  lfHeight;
  LONG  lfWidth;
  LONG  lfEscapement;
  LONG  lfOrientation;
  LONG  lfWeight;
  BYTE  lfItalic;
  BYTE  lfUnderline;
  BYTE  lfStrikeOut;
  BYTE  lfCharSet;
  BYTE  lfOutPrecision;
  BYTE  lfClipPrecision;
  BYTE  lfQuality;
  BYTE  lfPitchAndFamily;
  TCHAR lfFaceName[LF_FACESIZE];
} LOGFONT, *PLOGFONT;
по стандарту
C++
1
#define LF_FACESIZE         32
Jupiter
Каратель
Эксперт С++
6552 / 3972 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
14.04.2013, 15:31     Поясните последнюю строку #3
Цитата Сообщение от taras atavin Посмотреть сообщение
Или лучше скопировать указатель?
FontName локальная и будет разрушена после выхода из функции
Цитата Сообщение от taras atavin Посмотреть сообщение
А куда? Буфер вообще существует? Может его выделить?
http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
typedef struct tagLOGFONT {
  LONG  lfHeight;
  LONG  lfWidth;
  LONG  lfEscapement;
  LONG  lfOrientation;
  LONG  lfWeight;
  BYTE  lfItalic;
  BYTE  lfUnderline;
  BYTE  lfStrikeOut;
  BYTE  lfCharSet;
  BYTE  lfOutPrecision;
  BYTE  lfClipPrecision;
  BYTE  lfQuality;
  BYTE  lfPitchAndFamily;
  TCHAR lfFaceName[LF_FACESIZE];
} LOGFONT, *PLOGFONT;
lfFaceName
A null-terminated string that specifies the typeface name of the font. The length of this string must not exceed 32 TCHAR values, including the terminating NULL. The EnumFontFamiliesEx function can be used to enumerate the typeface names of all currently available fonts. If lfFaceName is an empty string, GDI uses the first font that matches the other specified attributes.
Yandex
Объявления
14.04.2013, 15:31     Поясните последнюю строку
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru