VC++(MFC)中动态创建和管理按钮控件,怎么做?

基于MFC的对话框应用程序需要动态创建若干按钮(或者用其它控件形式?)来表示数据节点,类似地图标记效果(http://zhidao.baidu.com/question/... 基于MFC 的对话框应用程序

需要动态创建若干按钮(或者用其它控件形式?)来表示数据节点,类似地图标记效果
http://zhidao.baidu.com/question/1957627632659261340.html?quesup2&oldq=1
并且最好能够相应按钮单击事件。
现在的问题是,要创建的按钮要可以是无限多个,要怎么样去标示这些按钮控件呢?
而且,这是按钮控件的属性(比如按钮提示文本,在窗口中的位置信息等)是要保存在数据库中的,关闭软件再在下次打开时,需要自动加载。
怎么样实现?
求指导……
感谢大虾帮忙
展开
 我来答
最爱吹吹风
推荐于2016-11-06 · TA获得超过102个赞
知道小有建树答主
回答量:153
采纳率:0%
帮助的人:111万
展开全部
动态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这个函数映射起来了。这个消息映射要自己写。
归悦欣cf
2014-04-01 · TA获得超过1442个赞
知道大有可为答主
回答量:4250
采纳率:60%
帮助的人:1187万
展开全部
定义一个结构保存每一个节点信息。
追问
不是定义什么的问题,是怎么定义的问题。
因为是要可以无限添加,就不能事先定义好,必须有一个动态创建和管理的机制。
追答
使用链表进行管理或使用MFC里面管理对象指针的类来管理。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式