Как в диалоге изменить размер шрифта ?
Как в диалоговом окне изменить размер шрифта, элементов, например Static Text и Edit Box ?
SendMessage(..WM_SETFONT..), а для MFC CWnd::SetFont, если вы пишите на C/C++
и вообще в дальнейшем формулируте вопрос чётче, чтобы не приходилось гадать какой framework и язык, а то бывает тут пишут и про Delphi...
SendMessage(..WM_SETFONT..), а для MFC CWnd::SetFont, если вы пишите на C/C++
и вообще в дальнейшем формулируте вопрос чётче, чтобы не приходилось гадать какой framework и язык, а то бывает тут пишут и про Delphi...
Вот я беру создаю Визардом диалоговое окно...тащу элемент Static Text...меняю текст на свой...теперь я хочу чтобы этот шрифт был не 10, а 14-ым...как это сделать ?
всё это VC++6
С уважением, Роман!
Вот я беру создаю Визардом диалоговое окно...тащу элемент 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 всё тоже самое, но без объектов, мне просто лень писать