CRichEditView: Font ändern
-
Hallo,
ich möchte gerne in einer Anwendung mit CRichEditView die Standard-Schriftart ändern:
Von Haus aus ist dies wohl "System", eine Proportionalschriftart, ich benötige aber für eine formatierte Anzeige eine Schriftart mit fester Breite, z.B. Courier.Ganz blauäugig habe ich nun in der OnInitDialog meiner View-Klasse folgendes geschrieben:
CRichEditView::OnInitialUpdate(); CHARFORMAT Format; Format = GetCharFormatSelection( ); strcpy(Format.szFaceName,"Courier"); SetCharFormat(Format);Dies produziert zwar keine Abstürze, aber die Schriftart wird leider auch nicht geändert.
Wie kann man dies richtig machen?
Danke,
Andreas
-
[cpp] CHARFORMAT cf; // cf belegen ... // und setzen CRichEditCtrl& ctrl = GEtRichEditCtrl(); ctrl.SetSel(0,-1); ctrl.SetSelectionCharFormat(cf); [/cpp]
-
schonmal mit
CRichEditCtrl::SetFont(CFont* pFont, bRedraw = TRUE);probiert? Ist eigentlich ein CWnd Member, aber da CRichEditCtrl von CWnd abgeleitet ist, ist die Funktion auch dort vorhanden. Normalerweise kann man mit dem bei jedem Fenster die Standardschriftart verändern.
Grüssli
-
Vielen Dank für die Antworten.
Ich habe es inzwischen schon hinbekommen (ähnlich ESS_CB: die Änderung muss im RichEditControl stattfinden, nicht im View):
CHARFORMAT Format; GetRichEditCtrl().GetDefaultCharFormat(Format); strcpy(Format.szFaceName,"FixedSys"); if(Format.dwEffects & CFE_BOLD) Format.dwEffects -= CFE_BOLD; Format.bPitchAndFamily = Format.bPitchAndFamily | FIXED_PITCH; Format.dwMask = Format.dwMask | CFM_FACE; Format.dwMask = Format.dwMask | CFM_BOLD; GetRichEditCtrl().SetDefaultCharFormat(Format);Andreas