MFC : доступ к функции
Для вывода текста хочу поменять шрифт.
Вот код функции
CFont DrawScheme::CreateFontForNumbers()
{
LOGFONT log_font;
CFont new_font;
log_font.lfHeight = 12;
log_font.lfWidth = 0;
log_font.lfEscapement = 0;
log_font.lfOrientation = 0;
log_font.lfWeight = FW_NORMAL;
log_font.lfItalic = 0;
log_font.lfUnderline = 0;
log_font.lfStrikeOut = 0;
log_font.lfCharSet = ANSI_CHARSET;
log_font.lfOutPrecision = OUT_DEFAULT_PRECIS;
log_font.lfClipPrecision = CLIP_DEFAULT_PRECIS;
log_font.lfQuality = PROOF_QUALITY;
log_font.lfPitchAndFamily = VARIABLE_PITCH | FF_ROMAN;
new_font.CreateFontIndirectW(&log_font);
return new_font;
}
CFont a;
a = CreateFontForNubers();
не компилиться.
Пишет : error C2248: 'CObject::CObject' : cannot access private member declared in class 'CObject'.
В чем проблема ?
Хотя если выполнять , всё что написано в функции CreateFontForNumbers() , не в функции а там где объявляю a , то всё работает .
И ещё вопрос ..
CFont *old_font;
old_font = new CFont;
old_font = dc.GetCurrentFont();
delete old_font; - - тож возникает ошибка ...
Помогите плиз.
old_font = new CFont; // Убей эту строку
old_font = dc.GetCurrentFont(); // Передаешь указатель на шрифт в переменную, которая УЖЕ указывает на шрифт
Там где было new - удалил..
Но вот с функций. всё равно выдаёт ошибку ,error C2248: 'CObject::CObject' : cannot access private member declared in class 'CObject.
Пробовал менять функцию на public , но всёравно ((
А на какой строке выскакивает эта ошибка?