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

Ваш аккаунт

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

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

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

Как в диалоге изменить размер шрифта ?

1.9K
29 октября 2002 года
Teren
18 / / 21.10.2002
Как в диалоговом окне изменить размер шрифта, элементов, например Static Text и Edit Box ?
380
29 октября 2002 года
Arestov
285 / / 20.09.2000
Цитата:
Originally posted by Teren
Как в диалоговом окне изменить размер шрифта, элементов, например Static Text и Edit Box ?



SendMessage(..WM_SETFONT..), а для MFC CWnd::SetFont, если вы пишите на C/C++

и вообще в дальнейшем формулируте вопрос чётче, чтобы не приходилось гадать какой framework и язык, а то бывает тут пишут и про Delphi...

1.9K
29 октября 2002 года
Teren
18 / / 21.10.2002
Цитата:
Originally posted by Arestov


SendMessage(..WM_SETFONT..), а для MFC CWnd::SetFont, если вы пишите на C/C++

и вообще в дальнейшем формулируте вопрос чётче, чтобы не приходилось гадать какой framework и язык, а то бывает тут пишут и про Delphi...



Вот я беру создаю Визардом диалоговое окно...тащу элемент Static Text...меняю текст на свой...теперь я хочу чтобы этот шрифт был не 10, а 14-ым...как это сделать ?

всё это VC++6
С уважением, Роман!

380
29 октября 2002 года
Arestov
285 / / 20.09.2000
Цитата:
Originally posted by Teren


Вот я беру создаю Визардом диалоговое окно...тащу элемент Static Text...меняю текст на свой...теперь я хочу чтобы этот шрифт был не 10, а 14-ым...как это сделать ?

всё это VC++6
С уважением, Роман!



перво-наперво назначаешь новый ID этому static'у, а то все они создаются с IDC_STATIC, скажем называешь его IDC_CAPTION, создаёшь член у каласса диалога в котором мы будем хранить новый шрифт:

// в объявлении класса диалога создаём член:
class CMyDlg ...{
...
CFont m_fntCaptionFont;
...
};


//затем в обработчике, WM_INITDIALOG (MFC: OnInitDialog()) пишешь:

void CMyDlg::OnInitDialog()
{
....
CWnd *pCaption = GetDlgItem(IDC_STATIC);
CFont *pFont = pCaption->GetFont();

// получаем описание страрого шрифта и редактируем его
LOGFONT lf;
pFont->GetObject(sizeof(lf), &lf);
lf.lfHeight = lf.lfHeight*3/2; // увеличиваем высоту в полтора раза
lf.lfWeight = FW_BOLD; // делаем жирным

// создаём новый шрифт из исправленного описания
m_fntCaptionFont.CreateFontIndirect(&lf);

и назначаем этот шрифт нашему static'у

pCaption->SetFont(&m_fntCaptionFont);

...
} // конец OnInitDialog

// созданный шрифт m_fntCaptionFont, надо
// удалить когда он нам станет не нужен, это
// произойдёт автоматически при удалении объекта
// самого диалога, т.к. m_fntCaptionFont его член.


Я сознательно пропустил проверку на ошибки чтобы не загромождать код, по идее надо все проверять, и CreateFontIndirect, и GetObject и GetDlgItem :)


на API всё тоже самое, но без объектов, мне просто лень писать

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