.....................//其余代码省略,就是改字体的颜色与字号
CFont font;
font.CreateFontIndirect (&myFontStruct);
CFont* oldFont = dc.SelectObject(&font);
..................//同上和
.....................//其余代码省略,就是改字体的颜色与字号
CFont* font;
font->CreateFontIndirect (&myFontStruct);
CFont* oldFont = dc.SelectObject(font);
..................//同上居然一个对,一个错?上面的是对的,下面是错的,我在那里调试了老半天,改成上面的对了。这时就有点想不通了?请各位大侠解释一下?
顺便问一下,如何改按扭的颜色啊?即Button的颜色,字号用SetFont()改,那么颜色呢?

解决方案 »

  1.   

    看看SelectObject( )的参数说明不就明白了?
      

  2.   

    当然上面对下面错晕你如果用下面的,要这样做:
    CFont* font = new CFont;
    font->CreateFontIndirect (&myFontStruct);
    CFont* oldFont = dc.SelectObject(font);
    ........................
    delete font;使用前需要创建对象,使用后要释放掉
    对空指针使用CreateFontIndirect不出问题才怪
      

  3.   

    没有对象怎么能调用它的非静态的成员函数。
    重载DrawItem改变颜色。