很简单,
我在一个对话框上创建了一个static控件,用来显示text。
动态创建的,
CreateWindow("STATIC", "", WS_CHILD,.......
然后我把对话框的字体改了,
但是这个static的字体没有和对话框的字体一样,这个怎么弄。
我直接拉一个static到对话框上,发现字体是跟着走的,
是不是动态创建有点不一样,
应该怎么样才能让字体和对话框的一样。

解决方案 »

  1.   

    m_stcTest.CreateFont( 30,                        // nHeight
     0,                         // nWidth
     0,                         // nEscapement
     0,                         // nOrientation
     FW_BOLD,                   // nWeight
     FALSE,                     // bItalic
     FALSE,                     // bUnderline
     0,                         // cStrikeOut
     DEFAULT_CHARSET,           // nCharSet
     OUT_DEFAULT_PRECIS,        // nOutPrecision
     CLIP_DEFAULT_PRECIS,       // nClipPrecision
     DEFAULT_QUALITY,           // nQuality
     DEFAULT_PITCH | FF_SWISS,  // nPitchAndFamily
     TEXT("宋体"));             // lpszFacename
      

  2.   

    其实你们说的方法我知道,
    我只是想问一下,为什么动态创建的static,字体会和背景对话框不一样,
    而我直接用静态的方法,就是在对话框上拉一个上去,字体是一样的。我现在是这么做的。
    CFont* font = GetFont();
    SendMessage(hWnd, WM_SETFONT, (WPARAM)font->m_hObject, true);
      

  3.   

    直接向对话框拖动一个编辑框,这里RC文件中对话框的描述中会增加一条    
    EDITTEXT  IDC_EDIT1,97,31,40,14,ES_AUTOHSCROLL
    这时,这个编辑框控件使用的字体是与对话框使用的字体相同的.
    而且动态创建的则没有这一条,所以使用的可能是系统默认的字体.
    这是我分析的.不知道对不对?说错了,请各位指正.