MFC为动态Create控件添加资源ID的方法

本文总结了在MFC中动态创建控件时,如何管理和使用资源ID的方法,包括通过Resource.h文件、ResourceView及StringTable等方式定义和操作控件ID,避免ID冲突。

MFC为动态Create控件添加资源ID总结

这段时间在学习MFC,之前只会拖拽创建控件,找了些资料总算学会动态Create控件了。

最开始Create创建的是一个TreeCtrl,在对话框类中定义了资源ID : UNIT m_TreeCtrlID;
控件ID给了一个随机值,
srand((unsigned)time(NULL)); //设置伪随机数生成器的起始种子值。
m_TreeCtrlID = rand() % 32768; //设置其不超过32768
while (GetDlgItem(m_TreeCtrlID)) // ID conflict
m_TreeCtrlID = rand() % 32768; //重新取值

OK,可以创建,但是此时我发现无法通过这个资源ID操作这个控件(也可能方法没用对,嘿嘿~)
在网上找了下资料发现至少有三种方法:

1.在创建的对话框Project中有一个Resource.h文件,按照队形#define就OK了。
例如:#define IDC_TreeCtrl 1003 (这个Value取值要与其他不同,貌似是大于100的整数)。

2.在Resource View中,***.rc目录右键 --> Ressource Symbols --> New,添加Value。
例如:IDC_TreeCtrl 1002 Value会自动为分配,也可以自己指定

3.在Resource View中,双击打开String Table,点击空白部分添加ID,会自动创建一个ID ,分配一个Value,可修改ID 名称,再添加Caption,不添加不能创建成功,创建成功后也不能删除为空,否则报错。
例如:IDC_Tree 103 &Tree

现在记性不太好,做做笔记,以免忘记!
找的资料链接不见了,抱歉,以上为自己的总结,同时感谢那些提供了方法的猿们,嘿嘿,有问题的话,请多指教!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值