# MFC - CFontDialog



## juryu (Feb 7, 2003)

Hi people,

I am having trouble initializing my CFontDialog with the font I want. Obviously

CFontDialog * fd = new CFontDialog;
fd->DoModal():

shows the font dialog with no font selected. 
Now, I have a CFont * called ss_font, so I try this

LOGFONT lf;
ss_font->GetLogFont(&lf);
CFontDialog * fd = new CFontDialog(&lf);
fd->DoModal():

And now it shows different values, but not the ones on my CFont!! For example, font size is something ridiculously big like 30000...

So I thought maybe I need CHARFORMAT. I try creating a CHARFORMAT and putting all the values from my LOGFONT in it, and then calling

CFontDialog * fd = new CFontDialog(&cfm);
fd->DoModal():

But then the compiler gives an error!!

error C2664: '__thiscall CFontDialog::CFontDialog(struct tagLOGFONTA *,unsigned long,class CDC *,class CWnd *)' : cannot convert parameter 1 from 'struct _charformat *' to 'struct tagLOGFO
NTA *'

Duh, it obviously wanted a LOGFONT and not a CHARFORMAT. But then why didn't it show the correct values when I gave it the LOGFONT?

Can anybody give me some help? I've already posted this in other forums and got no reply.


----------

