MFC ActiveX 控件:添加另一自定义属性页

在微软MSDN上有详细过程,但还有一步要注意:对话框的属性中,Border改为 none; Style改为Child;

 

微软帮助文档如下:

插入新的"属性页模板到项目

  1. 打开控件的项目,则在项目工作区中打开资源视图。

  2. 右击在"资源视图打开快捷菜单并单击 添加资源

  3. 展开 对话框 节点,然后选择 IDD_OLE_PROPPAGE_SMALL

  4. 单击 New 将资源添加到此项目。

  5. 选择新的属性页刷新模板属性窗口。

  6. 输入 ID 属性的新值。 此示例使用 IDD_PROPPAGE_NEWPAGE

  7. 在工具栏上单击**“保存”**。

相关新的模板类。

  1. 打开类视图。

  2. 右击类视图打开快捷菜单。

  3. 从快捷菜单中单击“添加”,然后单击“添加类”。

    这会打开 添加类 对话框。

  4. 双击 MFC 类 模板。

  5. 类名 框在 MFC 类向导中,键入项目名称。新的对话框类。(在此示例中,即 CAddtlPropPage。)

  6. 如果要更改文件的名称,单击 更改。 输入名称。实现和头文件或接受默认名称。

  7. 基类 框中,选择 COlePropertyPage

  8. 对话框 ID 框中,选择 IDD_PROPPAGE_NEWPAGE

  9. 单击以创建类的 完成

若要允许设置为此新的属性页中的用户控件访问,请对控件的 ID 属性页的节进行以下更改 (位于控件实现文件):

BEGIN_PROPPAGEIDS(CMyAxUICtrl, 2)
   PROPPAGEID(CMyAxUIPropPage::guid)
   PROPPAGEID(CAddtlPropPage::guid)
END_PROPPAGEIDS(CMyAxUICtrl)

注意必须增加 BEGIN_PROPPAGEIDS 宏 (计数) 属性页从 1 至 2. 中的第二个参数。

还必须修改控件实现文件 (.cpp) 中的文件标题 (。H) 新的属性页的类文件。

下一步是创建已为新的"属性页"将提供一类型名称和标题的两个字符串资源。

添加新的字符串资源。属性页

  1. 打开控件的项目,请打开资源视图。

  2. 双击 字符串表 文件夹然后双击要将字符串中现有的字符串表资源。

    这将打开 Windows 中的字符串表。

  3. 选择空白行在字符串表结尾时键入文本、标题,字符串:例如,添加“附加属性页”。

    这显示打开 标题ID 对话框的 String Properties 页。 标题 框包含您键入的字符串。

  4. ID 框中,选中或键入字符串的 ID。 完成后,按 Enter。

    此示例适用于新的属性页的类型名使用 IDS_SAMPLE_ADDPAGE

  5. 重复使用 IDS_SAMPLE_ADDPPG_CAPTION 的步骤 3 和 4“ID 和其他属性页的”标题的。

  6. 在新的"属性页类的 .cpp 文件 (在此示例中,CAddtlPropPage) 修改 CAddtlPropPage::CAddtlPropPageFactory::UpdateRegistry,以便 IDS_SAMPLE_ADDPAGE 将 AfxOleRegisterPropertyPageClass,如下面的示例所示:

BOOL CAddtlPropPage::CAddtlPropPageFactory::UpdateRegistry(BOOL bRegister)
{
   if (bRegister)
      return AfxOleRegisterPropertyPageClass(AfxGetInstanceHandle(),
         m_clsid, IDS_SAMPLE_ADDPAGE);
   else 
      return AfxOleUnregisterClass(m_clsid, NULL);
}

7. 如下修改 CAddtlPropPage 构造函数,以便 IDS_SAMPLE_ADDPPG_CAPTION 传递给 COlePropertyPage 构造函数,例如:

CAddtlPropPage::CAddtlPropPage() :
   COlePropertyPage(IDD, IDS_SAMPLE_ADDPPG_CAPTION)
{

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值