我的ActiveX控件怎么根据自定义属性来初始化? 我写了个ActiveX控件,定义了一个BOOL型的属性InitToday(是否初始就显示今天的日期),我在界面设计器里给它设成了TRUE,可在控件的OnCreate函数里得到的这个属性值是个负数(未初始化的整型数据),我没办法用它来做初始化工作。为什么库存属性Text,Caption等在设计器里给它们赋值后就可以在OnCreate里得到正确的值呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你对那个属性的Set实现了吗?你是不是光实现了Get。 楼主的问题涉及到设计器设定值保存的情况。具体的在孙鑫老师的VC教程中说的很详细了。你可以去看看我给你找了一个网址:http://www.znccw.com/Article/pc/biancheng/200703/4438.html,从第160集开始是控件部分,在后面有说到一些很细节设置问题。 需要在DoPropExchange 中加入属性的保存 比如要保存背景颜色属性void XXXXCtrl::DoPropExchange(CPropExchange* pPX){ ExchangeVersion(pPX, MAKELONG(_wVerMinor, _wVerMajor)); COleControl::DoPropExchange(pPX); // TODO: Call PX_ functions for each persistent custom property. PX_Color(pPX, "m_backColor", m_backColor, RGB(255,0,0)); //}详看MSDN DoPropExchange 和 PX_ 1、你的InitToday属性根本就不是库存属性,所以无法永久保存2、你的实现类中该属性对应的变量没有被初始化 把你的内部变量定义为VARIANT_BOOL 类型,然后void XXXXCtrl::DoPropExchange(CPropExchange* pPX) { ExchangeVersion(pPX, MAKELONG(_wVerMinor, _wVerMajor)); COleControl::DoPropExchange(pPX); // TODO: Call PX_ functions for each persistent custom property. PX_Short(pPX,"InitToday",m_bInitToday);} 就可以了。 MFC中使用COleDateTime::GetCurrentTime()产生异常 如何在OutBarCtrl嵌套使用CListCtrl控件 想学MFC,但觉得好难 RS232传输问题,在线等 高分求《Visual C++串口通信工程开发实例导航》书的光盘(源代码) 求助!关于菜单栏下方的分隔线的实现! 窗口切换 子进程结束后,主线程及各个副线程句柄关闭的问题 快快回答呀,我给100 分 如何取得某一文件的图标? WinInet的错误代码12002.. 简单的图片分割问题
我给你找了一个网址:http://www.znccw.com/Article/pc/biancheng/200703/4438.html,从第160集开始是控件部分,在后面
有说到一些很细节设置问题。
比如要保存背景颜色属性
void XXXXCtrl::DoPropExchange(CPropExchange* pPX)
{
ExchangeVersion(pPX, MAKELONG(_wVerMinor, _wVerMajor));
COleControl::DoPropExchange(pPX); // TODO: Call PX_ functions for each persistent custom property.
PX_Color(pPX, "m_backColor", m_backColor, RGB(255,0,0)); //}详看MSDN DoPropExchange 和 PX_
2、你的实现类中该属性对应的变量没有被初始化
void XXXXCtrl::DoPropExchange(CPropExchange* pPX)
{
ExchangeVersion(pPX, MAKELONG(_wVerMinor, _wVerMajor));
COleControl::DoPropExchange(pPX); // TODO: Call PX_ functions for each persistent custom property.
PX_Short(pPX,"InitToday",m_bInitToday);}
就可以了。