000
02.09.2007, 11:27 Uhr
WindDancer1
|
Hallo Leute ,
Ich habe ein SDI Projekt (RTFView) erstellt und möchte nun mittels CFontDialog den Font des Textes im RTF View editieren. Dies Funktioniert bei allen Fonttypen gut, wenn ich aber auf Terminal umstellen möchte funktioniert es nicht. Ich bekomme keine Fehlermeldung und auch keinen Absturz aber der Text wird nicht in "Terminal" dargestellt sondern bleibt wie er ist. Ich versuche schon seit Tagen herauszufinden woran das liegt und wie ichs richtig machen kann aber auch Google bietet nichts vernünftiges !
Wisst Ihr was ich falsch bzw. wie ichs richttig machen muss ???
Hier ist mein CodeIn OnUpdate() wird geladener Text dargestellt, OnFontChoose() ruft den Font - Standarddialog auf und ändert den Font des Textes)
C++: |
void CTereader0004View::OnUpdate(CView* pSender, LPARAM lHint, CObject* pHint) { CTereader0004Doc *pDoc = GetDocument ();
CRichEditCtrl& rCtrl = GetRichEditCtrl(); // Pointer auf das RichEditControl erstellen um dessen Funktionen zu nutzen CHARFORMAT cfm; // Struktur die die Aktionen der Selektion enthält/ CFont myFont; rCtrl.ReplaceSel(pDoc->cstrAusgabe); rCtrl.SetSel(0,482); cfm.cbSize = sizeof(CHARFORMAT); // Funktionen cfm.dwMask = CFM_BOLD; // des RichEditCONTROLS zur cfm.dwEffects = CFM_BOLD; // formatierten Darstellung benutzen
rCtrl.SetSelectionCharFormat (cfm); // Aktionen der Selektion ausführen rCtrl.SetSel (0,0);
rCtrl.SetModify(FALSE); }
void CTereader0004View::OnFontChoose() { CFontDialog fontDlg; CFont *m_font = new CFont; if (fontDlg.DoModal()) { m_font->CreateFont (fontDlg.GetSize() / 7.25 ,NULL ,0 ,0 ,fontDlg.GetWeight () ,fontDlg.IsItalic () ,fontDlg.IsUnderline () ,fontDlg.IsStrikeOut () ,DEFAULT_CHARSET ,OUT_DEFAULT_PRECIS ,0 ,DEFAULT_QUALITY ,DEFAULT_PITCH ,fontDlg.GetFaceName ()); }
CRichEditCtrl& rCtrl = GetRichEditCtrl(); // Pointer auf das RichEditControl erstellen um dessen Funktionen zu nutzen CHARFORMAT cfm; rCtrl.SetFont (m_font);
}
|
Beide Funktionen befinden sich in der View des Projektes!
Bitte helft mir, ich komm mit Terminal echt nicht weiter und es ist ziemlich wichtig! Vielen Dank für eure Mühe vorab
WindDancer |