Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

MFC : доступ к функции

27K
22 марта 2008 года
NikiFar
16 / / 01.03.2008
Помогите, пожалуйста ! Пишу на visual studio 2005, использую MFC, создаю dialog based приложение.
Для вывода текста хочу поменять шрифт.
Вот код функции
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; - - тож возникает ошибка ...
Помогите плиз.
1.6K
22 марта 2008 года
Tdr
154 / / 13.11.2003
CreateFontForNumbers походу объявлена в секции private, перенеси ее в public

old_font = new CFont; // Убей эту строку
old_font = dc.GetCurrentFont(); // Передаешь указатель на шрифт в переменную, которая УЖЕ указывает на шрифт
27K
23 марта 2008 года
NikiFar
16 / / 01.03.2008
Tdr, спасибо за ответ ..
Там где было new - удалил..
Но вот с функций. всё равно выдаёт ошибку ,error C2248: 'CObject::CObject' : cannot access private member declared in class 'CObject.
Пробовал менять функцию на public , но всёравно ((
430
23 марта 2008 года
craftyfox
157 / / 20.02.2000
Пишет : error C2248: 'CObject::CObject' : cannot access private member declared in class 'CObject'.

А на какой строке выскакивает эта ошибка?
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог