MSDN中说到这个消息时只说到了控件,一般的窗口应该也可以啊,平常用MFC时用CWnd::GetFont就可以得到啊。
有没有人遇到这种情况?

解决方案 »

  1.   

    就该没问题啊:
    如在一Dialog下,GetFont与WM_GETFONT结果相同
    void ed::OnButton1() 
    {
    // TODO: Add your control notification handler code here
      LRESULT re=SendMessage(WM_GETFONT);
      CFont *p=CFont::FromHandle((HFONT)re) ;
      CFont* p1=GetFont( );
      if (p1==p)
      MessageBox("ok");
    }
      

  2.   

    我没有用到CWnd函数,用的是API取的,即用::SendMessage(hWnd, WM_GETFONT, 0, 0);
    是不是有可能有的窗口没有字体?总得有个默认的字体吧,为什么得出来是NULL。