none
error C2065: 'DefaultFont' : undeclared identifier RRS feed

  • 问题

  • OleCreateFontIndirect(&DefaultFont,::IID_IFontDisp,reinterpret_cast<void**>(&m_pFont));
    最近看Com与Com+从入门到精通,按上面的例子输代码. 一个ActiveX控件,在生成时报错.不知道这个DefaultFont是什么东西呀?
    2010年8月24日 3:07

答案

  • 那是我的最终答案。

    MSDN说得很清楚,DefaultFont不过是一个保存一些参数的结构变量,OleCreateFontIndirect用它来创建字体对象。

    • 已标记为答案 male110 2010年8月24日 6:05
    2010年8月24日 5:45

全部回复

  • HRESULT OleCreateFontIndirect(
      __in   LPFONTDESC lpFontDesc,
      __in   REFIID riid,
      __out  LPVOID *lplpvObj
    );

    &DefaultFont是 FONTDESC 结构的地址。

    关于OleCreateFontIndirect,具体请看这里:http://msdn.microsoft.com/en-us/ms690144(VS.85).aspx

    关于FONTDESC结构定义,请看这里:http://msdn.microsoft.com/en-us/ms692782(VS.85).aspx

     

    • 已编辑 若等闲 2010年8月24日 3:45 追加答案
    2010年8月24日 3:42
  • error C2065: 'DefaultFont' : undeclared identifier
    我是问这个 DefaultFont是什么东西,从他给出的代码来看这个应该不是自定义的变量吧.
    2010年8月24日 3:49
  • DefaultFont就是一个用FONTDESC声明的结构变量。

    书中如果没有给出,你可以自己创建和初始化该变量,如:

    static const FONTDESC DefaultFont =
          {sizeof(FONTDESC), OLESTR("times new roman"), FONTSIZE( 14 ),
          FW_BOLD, ANSI_CHARSET, TRUE, FALSE, FALSE }; 

    • 已编辑 若等闲 2010年8月24日 5:09 追加
    2010年8月24日 3:58
  • 可是他书上给的代码中没有这个变量的声呀.

    设&DefaultFont是一个成员变量肯定是以m_开头,如果是局部变量应是小写开头,看他的写法,我看不是自定义变量.

    又没在书上找到它的定义


    2010年8月24日 5:26
  • 那是我的最终答案。

    MSDN说得很清楚,DefaultFont不过是一个保存一些参数的结构变量,OleCreateFontIndirect用它来创建字体对象。

    • 已标记为答案 male110 2010年8月24日 6:05
    2010年8月24日 5:45