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

Ваш аккаунт

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

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

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

Размер и стиль шрифта для контролсов

16K
08 апреля 2007 года
S_OK
5 / / 29.03.2006
Помогите разобраться как всем элементам, к примеру с ID_STATIC присвоить новый размер шрифта(MFC), я понял как каждому контролсу отдельно делать, а вот чтоб сразу, чтобы много переменных не объявлять...подскажите плиз
7.8K
08 апреля 2007 года
simplemortal
62 / / 09.02.2007
Можно использовать функцию OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor), которая представляет собой обработчик сообщения WM_CTLCOLOR.

Пример:
Код:
if(nCtlColor == CTLCOLOR_STATIC)
    {
    //создаём новый шрифт
        CFont font;
        font.CreateFont(-18, 0, 0, 0, 700, 1, 0, 0, RUSSIAN_CHARSET,
                0, 0, 0, 0, (CString)"Times New Roman Cyr");
        pDC->SelectObject(&font);
        pDC->SetBkMode(TRANSPARENT);
        pDC->SetTextColor(RGB(0, 0, 255)); //меняем цвет
        return (HBRUSH)GetStockObject(NULL_BRUSH);
    }

После этого у всех статиков изменится шрифт и цвет текста.

Здесь можно обрабатывать разные элементы:
CTLCOLOR_BTN - для кнопки
CTLCOLOR_DLG - для самого диалогового окна
CTLCOLOR_EDIT - для окон редактирования Edit
CTLCOLOR_LISTBOX - для списков List Box
CTLCOLOR_SCROLLBAR - для полос прокрутки
CTLCOLOR_STATIC - для статиков
16K
08 апреля 2007 года
S_OK
5 / / 29.03.2006
simplemortal, сапасиба, все работает. Но у мя есть статики с переменными, в них шрифт не надыть менять, как поставить исключение на ИД?
16K
08 апреля 2007 года
S_OK
5 / / 29.03.2006
Все, я нашел как решить проблему: if (pWnd->GetDlgCtrlID() == IDC_STATIC) заместо if(nCtlColor == CTLCOLOR_STATIC), но все равно спасиба те большое за месагу
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог