悉野小楼

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

MFC学习 MFCActiveX控件

例子包含

1. 重绘activex控件显示区域

在activex的ctrl类中ondraw中实现

2.添加修改activex控件属性(前景色, 背景色, 自定义属性),, 

只要在类视图中展开library(vs2005中类视图中, 最下面那个标签),  在展开的第二个标签上右击, 可以添加属性, 可选择, 或自己定义

3.添加事件

在类视图中ctrl类右击可以添加activex的事件, 可以选择, 也可以自己定义事件.

4.设置修改常规属性页面

在clockctrl.cpp中, 修改属性页BEGIN_PROPPGAGEIDS与END_PROPPAGEIDS宏之间, 添加一行PROPPAGEID(CLSID_CColorPropPage),

同时修改上面数字为2,因为有个页面了.

5.添加属性页, 修改自己定义的属性

在资源视图中展开dialog, 打开IDD_PROPPAGE_CLOCK,  在上面放置一个CEDIT控件, 右击添加变量, 类别选择Value, 填写一个成员变量,

将这个成员变量与自定义属性关联, 可修改Cclockproppage类的doddataexchange函数, 改成:

void CclockPropPage::DoDataExchange(CDataExchange* pDX)
{
DDP_Text(pDX, IDC_EDIT1, m_tmpInterval, "Interval"); //关联控件, 成员属性, 及自己控件的Interval属性
DDX_Text(pDX, IDC_EDIT1, m_tmpInterval);
DDP_PostProcessing(pDX);
}

代码下载

posted on   悉野  阅读(337)  评论(0编辑  收藏  举报

编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
点击右上角即可分享
微信分享提示