CFontDialog MFC

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • CFontDialog MFC

    Hallo zusammen :D ,

    ich hab ne Frage bezüglich CFontDialog.
    Ich hab ne textBox in die ich auf Knopfdruck(Button A) nen Text einlese.
    Wenn ich Button B drücke soll sich fer CommenDialog zum Aussuchen eines Fonts aufmachen was er auch tut. Mit CFontDialog fontDLG. Get...() komm ich an die Fontattribute(Klappt nicht ).
    Ich hab gedacht dass ich die mit Get...() gewonnenen Werte in CreateFont eintragen kann und mein Text in der TextBox hat nen anderen Font (klappt nicht:cry:) !

    Habt ihr ne Ahnung wie ich das machen könnte, habt ihr vllt. sogar n CodeSnippet oder ein Tut das sich auf CFontDialog bezieht )

    Vielen Dank schon mal vorab
    ShadowEater

    //EDIT: So funzt das leider auch net

    Quellcode

    1. void CThereader0001Dlg::OnFontClicked()
    2. {
    3. CFont m_font;
    4. CFontDialog fontDlg;
    5. if (fontDlg.DoModal() == IDOK)
    6. {
    7. CString strMsg;
    8. CString txtMessage;
    9. // 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",
    10. // fontDlg.GetFaceName(),
    11. // fontDlg.GetStyleName(),
    12. // fontDlg.GetSize(),
    13. // fontDlg.GetColor(),
    14. // fontDlg.GetWeight(),
    15. // fontDlg.IsStrikeOut(),
    16. // fontDlg.IsUnderline(),
    17. // fontDlg.IsBold(),
    18. // fontDlg.IsItalic()
    19. // );
    20. 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 ());
    21. m_ctrEdit.SetFont(&m_font);
    22. }
    23. }
    Alles anzeigen


    Der auskommentierte Code zeigt die Textattribute an, der Rest klappt net !

    regards
    ShadowEater
  • Hallo zusammen ;) ,

    also falls es jemand interessiert so klappte es :

    Quellcode

    1. void CThereader0001Dlg::OnFontClicked()
    2. {
    3. CFontDialog fontDlg;
    4. CFont *m_font = new CFont;
    5. if (fontDlg.DoModal() == IDOK)
    6. {
    7. m_font->CreateFont (fontDlg.GetSize() / 7.25
    8. ,NULL
    9. ,0
    10. ,0
    11. ,fontDlg.GetWeight ()
    12. ,fontDlg.IsItalic ()
    13. ,fontDlg.IsUnderline ()
    14. ,fontDlg.IsStrikeOut ()
    15. ,DEFAULT_CHARSET
    16. ,OUT_DEFAULT_PRECIS
    17. ,0
    18. ,DEFAULT_QUALITY
    19. ,DEFAULT_PITCH
    20. ,fontDlg.GetFaceName ());
    21. m_ctrEdit.SetFont(m_font);
    22. }
    23. delete m_font;
    24. }
    Alles anzeigen


    Ich weiss aber nicht 100%-tig warum ich CFont auf den Heap schieben muss :cry: :cry: :cry:

    Weiss jemand Rat ?

    Danke für eure Mühe
    ShadowEater