VC++(MFC)中动态创建和管理按钮控件,怎么做?
答案:2 悬赏:0 手机版
解决时间 2021-03-20 05:09
- 提问者网友:沉默的哀伤
- 2021-03-19 13:25
VC++(MFC)中动态创建和管理按钮控件,怎么做?
最佳答案
- 五星知识达人网友:玩家
- 2021-03-19 13:49
动态Create按钮的时候,有个参数是ID,这个ID就可以用来相应按钮的单击事件。你把所有动态创建的按钮指针存放到map中,ID作为key,按钮指针作为value,这样就可以管理了。数据库中相似的也存Id,跟对应的一些属性,下次读入ID,又可以Create。追问谢谢你的回答,给你我不少启发,不过还是有点不懂。
MFC中有个消息响应宏定义,如按钮按下消息:
ON_BN_CLICKED(IDOK, &CDlgAddEquipment::OnBnClickedOk)
IDOK就是按钮ID ,OnBnClickedOk 是响应函数,
如果是动态创建ID的话,事先的这个宏就没法写了吧,那怎么样实现单击事件的响应呢?
最好能给出一个简单代码示例,感激不尽。追答ON_COMMAND(id, FUNC)这样就通过按钮的id跟func这个函数映射起来了。这个消息映射要自己写。追问这个 id 可以用变量代替么?如果 id 在写代码的时候必须固定,那也就没办法做到动态映射了。追答可以,你试试不就知道了。
MFC中有个消息响应宏定义,如按钮按下消息:
ON_BN_CLICKED(IDOK, &CDlgAddEquipment::OnBnClickedOk)
IDOK就是按钮ID ,OnBnClickedOk 是响应函数,
如果是动态创建ID的话,事先的这个宏就没法写了吧,那怎么样实现单击事件的响应呢?
最好能给出一个简单代码示例,感激不尽。追答ON_COMMAND(id, FUNC)这样就通过按钮的id跟func这个函数映射起来了。这个消息映射要自己写。追问这个 id 可以用变量代替么?如果 id 在写代码的时候必须固定,那也就没办法做到动态映射了。追答可以,你试试不就知道了。
全部回答
- 1楼网友:街头电车
- 2021-03-19 14:29
定义一个结构保存每一个节点信息。追问不是定义什么的问题,是怎么定义的问题。
因为是要可以无限添加,就不能事先定义好,必须有一个动态创建和管理的机制。追答使用链表进行管理或使用MFC里面管理对象指针的类来管理。
因为是要可以无限添加,就不能事先定义好,必须有一个动态创建和管理的机制。追答使用链表进行管理或使用MFC里面管理对象指针的类来管理。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯