CFontDialog, so schwer kanns doch net sein...
-
Hi zusammen,
ich hab ein kleines proggie geschrieben, das die Common Dialogs benutzt, die waren alle kein Prob. bis ich auf CFontDialog traf.
Ich kann die Attribute des ausgewählen Fonts sogar in eine TextBox auslesen mit CFontDialig fontDlg.Get...().
Wenn ich aber in besagter TextBox eien Text stehen hab (ausgewählt und geladen mitm File Dialog) klappts einfach net.Hier mal mein Code :
CFontDialog fontDlg; if (fontDlg.DoModal() == IDOK) { CString name; name = fontDlg.GetFaceName (); m_font.CreateFont(32, 0, 0, 0, FW_NORMAL, 0, 0, 0, DEFAULT_CHARSET, OUT_CHARACTER_PRECIS, CLIP_CHARACTER_PRECIS, DEFAULT_QUALITY, NULL, name); m_ctrEdit.SetFont(&m_font); UpdateData (FALSE); }
-
UUUp, zu früh geklickt
hoffe Ihr könnt mir helfen oder kennt ihr n gutes Tut bezüglich zpeziell CFontDialog ich hab da sehr wenig gefunden !
Vielen Dank Leute
ShadowEater
-
So funzt das leider auch net:
void CThereader0001Dlg::OnFontClicked() { CFont m_font; CFontDialog fontDlg; if (fontDlg.DoModal() == IDOK) { CString strMsg; CString txtMessage; // strMsg.Format("Schriftart: %s\r\nStyleName: %s\r\nSchriftgrad: \t%d\r\nFarbe: \t\t%d\r\nGewicht: \t\t%d\r\nDurchgestrichen:\t%d\r\nUnterstrichen: \t%d\r\nFett: \t\t%d\r\nKursiv: \t\t%d\r\n", // fontDlg.GetFaceName(), // fontDlg.GetStyleName(), // fontDlg.GetSize(), // fontDlg.GetColor(), // fontDlg.GetWeight(), // fontDlg.IsStrikeOut(), // fontDlg.IsUnderline(), // fontDlg.IsBold(), // fontDlg.IsItalic() // ); m_font.CreateFont (fontDlg.GetSize (),20,0,0,fontDlg.GetWeight (),fontDlg.IsItalic (),fontDlg.IsUnderline (),fontDlg.IsStrikeOut (),DEFAULT_CHARSET,OUT_DEFAULT_PRECIS,0,DEFAULT_QUALITY,DEFAULT_PITCH,fontDlg.GetFaceName ()); m_ctrEdit.SetFont(&m_font); } }
Das anzeigen(klappt), sonst nix !
regards ShadowEater
-
Hallo zusammen ,
also falls es jemand interessiert so klappte es :
void CThereader0001Dlg::OnFontClicked() { CFontDialog fontDlg; CFont *m_font = new CFont; if (fontDlg.DoModal() == IDOK) { 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 ()); m_ctrEdit.SetFont(m_font); } delete m_font; }
Ich weiss aber nicht 100%-tig warum ich CFont auf den Heap schieben muss
Weiss jemand Rat ?
Danke für eure Mühe
ShadowEater