if(pWnd->GetDlgCtrlID() == IDC_STAT1)
{
CFont font;
font.CreateFont(-14, 0, 0, 0, 700, 1, 0, 0, RUSSIAN_CHARSET, 0, 0, 0, 0, "Times New Roman Cyr");
pDC->SelectObject(&font);
pDC->SetBkMode(TRANSPARENT);
pDC->SetTextColor(RGB(0, 0, 255));
return (HBRUSH)GetStockObject(WHITE_BRUSH);
}
Проблемы со шрифтами
При установке шрифтов на элементы формы у меня возникли следующие проблемы
1) При установке фонта на статик он перерисовывается только при обновлении окна. Я пробовал обновить окно с помощью UpdateWindow(), но куда только я его не вставлял результата от его действия нет. Пробовал утанавливать TRUE у SetFont(font,TRUE) но всегда моргает(перерисовывается) только один элемент.
2) При установке шрифта на эдит появляются какие-то лишние полоски, а у поля для ввода пороля вообще иероглифы похожие на "Ъ"
PS фонт создаю так в OnCtlColor
CFont font;
font.CreatePointFont(120,"Microsoft Sans Serif",0);
pWnd->SetFont(&font,0);
но однако глюк с паролем остался.
Однако теперь обнаружилась новая проблема, изменяю размера шрифта, а рисует он всё равно шрифтом размером примерно равному 12
font.CreatePointFont(1,"Arial",&dc)
Цитата:
Originally posted by Rad87
Многие проблемы решились переведя часть кода в OnInitDialog,
но однако глюк с паролем остался.
Однако теперь обнаружилась новая проблема, изменяю размера шрифта, а рисует он всё равно шрифтом размером примерно равному 12
font.CreatePointFont(1,"Arial",&dc)
Многие проблемы решились переведя часть кода в OnInitDialog,
но однако глюк с паролем остался.
Однако теперь обнаружилась новая проблема, изменяю размера шрифта, а рисует он всё равно шрифтом размером примерно равному 12
font.CreatePointFont(1,"Arial",&dc)
Код:
В общем проблема была решена объявлением CFont font за пределами функции(в публике). Оказывается необходимо чтобы переменная font существовала до тех пор пока существует форма.