请问制作控件属性页的问题

sproll 2005-09-04 09:17:07
各位大虾,我做了一个控件,然后添加它的属性页,我碰上的问题是:
1、我想在属性页的初始化的时候把显示各个属性的窗口控件初始化好,如显示tool tip text属性的文本框、显示type的列表框等,但是不知道这些初始化工作在什么函数中做。
2、如果m_nObjects大于1(请问什么情况下它会大于1?),我如何知道哪一个控件是当前属性页正在显示其属性的控件(m_ppUnk数组中哪一个控件的属性要显示在属性页上)?
3、下面这段代码是MSDN中多边形控件例子中抄的,在这个Apply函数中为什么把与当前属性页关联的各个控件的属性都设为一样?与当前属性页关联的控件,它们的属性都必须一样的吗?

STDMETHOD(Apply)(void)
{
USES_CONVERSION;
ATLTRACE(_T("CPolyProp::Apply\n"));

for (UINT i = 0; i < m_nObjects; i++)
{
CComQIPtr<IPolyCtl, &IID_IPolyCtl> pPoly(m_ppUnk[i]);
short nSides = (short)GetDlgItemInt(IDC_SIDES);
if FAILED(pPoly->put_Sides(nSides))
{
CComPtr<IErrorInfo> pError;
CComBSTR strError;
GetErrorInfo(0, &pError);
pError->GetDescription(&strError);
MessageBox(OLE2T(strError), _T("Error"), MB_ICONEXCLAMATION);
return E_FAIL;
}
}
m_bDirty = FALSE;
return S_OK;
}

先谢谢了!
...全文
201 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
sproll 2005-09-16
  • 打赏
  • 举报
回复
谢谢各位
老夏Max 2005-09-07
  • 打赏
  • 举报
回复
参考MSDN中的例子“POLYGON”。
yajyjy 2005-09-06
  • 打赏
  • 举报
回复
没有做过,跟着学习
zxyjyzxyjy 2005-09-06
  • 打赏
  • 举报
回复
记的不是太清楚,如下:
第一个问题:在每个属性页的OnShow()函数里做。
第二个问题:每个m_ppUnk的属性应该自已保存,这样每次OnShow就从自已保存的数据来显示属性页了。
要做COM,最好用ATL,有一本书<<深入解析ATL>>不得不看,里面讲的很详细。

3,248

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧