WEB开发网
开发学院软件开发VC 如何在ActiveX控件中使用字体 阅读

如何在ActiveX控件中使用字体

 2008-02-26 20:27:03 来源:WEB开发网   
核心提示:第三部分 使用多种字体前面分别详细说明了如何在控件中使用库存属性和自定义属性,但有时我们需要在一个控件中使用多种字体,如何在ActiveX控件中使用字体(8),下面我们将说明如何在一个控件中实现多种字体属性,大多数情况下,FontDown,FontUp,每个字体对象都能够通过调用IFontNotification接口的

第三部分 使用多种字体

前面分别详细说明了如何在控件中使用库存属性和自定义属性。但有时我们需要在一个控件中使用多种字体,下面我们将说明如何在一个控件中实现多种字体属性。

大多数情况下,每个字体对象都能够通过调用IFontNotification接口的成员函数(由COleControl实现)在自身更改时提供通知。如果控件使用库存Font属性,则其通知由COleControl的OnFontChanged成员函数处理。当添加自定义Font属性时,可以让它们使用同一实现。在第二部分的例程中,这一点通过在初始化m_fontCaption成员变量时传递&m_xFontNotification来实现。

例程3将演示多个字体对象使用IFontNotification的同一实现,实现在一个控件中使用多种字体。

例程3:LabelEx0.ocx

例程1的Label控件确实增强了VC++工具箱中的Static Text控件的功能。但对于形如"m3/h","h2o"的文本内容,使用一个Label控件就有点无能为力了,下面我们将制作一个LabelEx0控件来再次扩展Label控件的功能,同时演示如何在控件中添加多种字体属性。

LabelEx0控件内部由上、中、下三个部分组成,三个部分的字体内容和字体属性可以分别设置,以方便地显示上下标部分。

打开Visual C++ 6.0,新建LabelEx0工程,接受所有默认设置,完成LabelEx0工程创建。使用ClassWizard 给控件增加库存属性BackColor,ForeColor:

  1. 单击View菜单的ClassWizard打开 ClassWizard;
  2. 单击Automation标签;
  3. Class Name下拉列表框选择CLabelEx0Ctrl,单击 Add Property;
  4. 在External name框中,单击BackColor;
  5. 单击OK;
  6. 单击OK确认你的选择并关闭ClassWizard;

我们已经给控件增加了库存属性BackColor,该属性用以设置LabelEx0控件的背景色。按上述同样操作,添加库存属性ForeColor。

使用ClassWizard 给控件增加自定义属性CaptionUp,CaptionMiddle,CaptionDown:

  1. 单击View菜单的ClassWizard打开 ClassWizard;
  2. 单击Automation标签;
  3. Class Name下拉列表框选择CLabelEx0Ctrl,单击 Add Property;
  4. 在External name框中,输入自定义属性名CaptionUp;
  5. 在Implementation框中,单击Member variable;
  6. 在Return Type框中,选择CString作为属性类型;
  7. 单击OK;
  8. 单击OK确认你的选择并关闭ClassWizard;

按上述同样操作,添加自定义属性CaptionMiddle,CaptionDown。CaptionUp,CaptionMiddle和CaptionDown分别用以设置LabelEx0控件上、中、下三个部分的文本内容。

使用ClassWizard 给控件增加自定义属性XUp,YUp,XMiddle, YMiddle, XDown, YDown

  1. 单击View菜单的ClassWizard打开 ClassWizard;
  2. 单击Automation标签;
  3. Class Name下拉列表框选择CLabelEx0Ctrl,单击 Add Property;
  4. 在External name框中,输入自定义属性名XUp;
  5. 在Implementation框中,单击Member variable;
  6. 在Return Type框中,选择long作为属性类型;
  7. 单击OK;
  8. 单击OK确认你的选择并关闭ClassWizard;

按上述同样操作,添加自定义属性YUp,XMiddle, YMiddle, XDown和YDown。其中XUp 和Yup属性用来决定上标文本的位置;XMiddle和YMiddle用以设置中间文本的位置;XDown和YDown 用以设置LabelEx0控件下标文本的位置。

使用ClassWizard 给控件增加自定义属性FontUp,FontMiddle,FontDown

  1. 单击View菜单的ClassWizard打开 ClassWizard;
  2. 单击Automation标签;
  3. Class Name下拉列表框选择CLabelEx0Ctrl,单击 Add Property;
  4. 在External name框中,输入自定义属性名FontUp;
  5. 在Implementation框中,单击Get/Set methods;
  6. 在Return Type框中,选择LPFONTDISP作为属性类型;
  7. 单击OK;
  8. 单击OK确认你的选择并关闭ClassWizard;

按上述同样操作,添加自定义属性FontMiddle,FontDown。FontUp,FontMiddle和FontDown分别用以设置LabelEx0控件上、中、下三个部分的字体属性。

上一页  3 4 5 6 7 8 9 10 11  下一页

Tags:如何 ActiveX 控件

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接