MFC为动态Create控件添加资源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

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

你可能感兴趣的:(MFC,笔记)