在ActiveX控件中使用Picture属性页

翻译|其它|编辑:郝浩|2004-08-18 14:44:00.000|阅读 2377 次

概述:

# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>

在ActiveX控件中可通过ATL内置的通用Picture属性页来选择并显示一个图片,步骤如下: 

(1)加入Picture属性页 

   PROPPAGEID(CLSID_CPicturePropPage)

(2)增加控件的属性页个数 

   BEGIN_PROPPAGEIDS(CDemoPicCtrl, 2) // 具体个数由实际情况而定

(3)在控件中增加一成员变量 

   CPictureHolder m_pic ; // CPictureHolder实现了接口IPicture

(4)通过ClassWizard增加一属性名为"ControlPicture",类型为"LPPICTUREDISP",选择Get/Set Methods。 

(5)在CDemoPicCtrl::OnResetState()中添加: 

   m_pic.CreateEmpty() ; // 设置为空picture

(6)在CDemoPicCtrl::GetControlPicture()中加入: 

   return m_pic.GetPictureDispatch() ; // 返回一个LPPICTUREDISP指针

(7)在CDemoPicCtrl::SetControlPicture()中加入: 

   m_pic.SetPictureDispatch() ;
   InvalidateControl() ; // 以新的picture重画控件

(8)在CDemoPicCtrl::OnDraw()中画出图片: 

   ...
   m_pic.Render(pdc, rcBounds, rcBounds) ; // 怎么画picture自己决定,这时只是一个示例

(9)在CDemoPicCtrl::DoPropExchange()中加入: 

   PX_Picture(pPX, "ControlPicture", m_pic) ; // 为使设计时的改变在运行时能体现,必须实现串行化


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@evget.com


为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP