Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Visual C++/MFC/WTL > Как установить шрифт для CRichEditCtrl


Автор: leorda 31.7.2011, 03:54
Доброго времени суток!

В свое программе я использовал CEdit для редактирования текста, но для оказалось сложновато прикрутить к CEdit (Drag & Drop), не получается у меня все правильно настроить.

Вот и решил перейти на CRichEditCtrl, там вроде как все работает так как нужно (Drag & Drop). Но появилась другая проблема, при копировании текста из различных источников, текст в CRichEditCtrl имеет различные типы шрифтов, да и с помощью комбинаций клавиш ctrl+E, ctrl+R, можно менять форматирование текста.

Если кто-нибудь знает, каким образом можно установить дефолтовый шрифт, чтобы при копировании из других окон, он никогда не менялся и чтобы нельзя было отформатировать шрифт в данном элементе, то пожалуйста помогите!

Автор: leorda 31.7.2011, 16:09
Решение найдено! Посылаю сообщение CRichEditCtrl, указанное ниже, ну и сразу устанавливаю шрифт, который мне нужен! (Этот текст из функции в производном классе от CRichEditCtrl)

Код

    SendMessage(EM_SETTEXTMODE, TM_PLAINTEXT, 0);

    LOGFONT logFont;
    logFont.lfHeight=16;
    logFont.lfWidth=0;
    logFont.lfEscapement=0;
    logFont.lfOrientation=0;
    logFont.lfWeight=FW_NORMAL;
    logFont.lfItalic=0;
    logFont.lfUnderline=0;
    logFont.lfStrikeOut=0;
    logFont.lfCharSet=ANSI_CHARSET;
    logFont.lfClipPrecision=CLIP_DEFAULT_PRECIS;
    logFont.lfOutPrecision=OUT_DEFAULT_PRECIS;
    logFont.lfQuality=PROOF_QUALITY;
    logFont.lfPitchAndFamily=VARIABLE_PITCH|FF_ROMAN;
    strcpy(logFont.lfFaceName, "Courier New");

    CFont myfont;
    myfont.CreateFontIndirectA(&logFont);

    SetFont(&myfont);



Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)