MFC如何动态添加控件
在主对话框中动态添加控件的方法我大概了解。可我不是想在主对话框中添加。我在主对话框中添加了一个TabCtrl控件,为了使用这个控件,在资源里又添加了几个Dialog资源。...
在主对话框中动态添加控件的方法我大概了解。可我不是想在主对话框中添加。我在主对话框中添加了一个TabCtrl控件,为了使用这个控件,在资源里又添加了几个Dialog资源。现在的问题是如何在这几个对话框资源中动态添加控件?感觉不是在主对话框的OnInitDialog函数中写吧?可又不知道在哪。
展开
2015-06-05 · 知道合伙人互联网行家
关注
展开全部
动态控件的创建过程:
1.建立控件ID号:
ID号是控件的标识,创建控件前必须先为它设置一个ID号。
打开资源中的“String Table”,在空白行上双击鼠标,这时会弹出一个ID属性对话框,在其中的ID编辑框中输入ID,如:IDC_MYBUTTON,在Caption中输入控件标题或注解(注:Caption框不能为空,为空会导致创建失败),这里我输入的是按钮上要显示的文字--动态按钮。
2.建立控件对象:
不同种类的控件应创建不同的类对象:
·按钮控件 CButton (包括普通按钮、单选按钮和复选按钮)
·编辑控件 CEdit
·静态文本控件 CStatic
·标签控件 CTabCtrl
·旋转控件 CSpinButtonCtrl
·滑标控件 CSliderCtrl
·多信息编辑控件 CRichEditCtrl
·进度条控件 CProgressCtrl
·滚动条控件 CSrcollBar
·组合框控件 CComboBox
·列表框控件 CListBox
·图像列表控件 CImageCtrl
·树状控件 CTreeCtrl
·动画控件 CAnimateCtrl
1.建立控件ID号:
ID号是控件的标识,创建控件前必须先为它设置一个ID号。
打开资源中的“String Table”,在空白行上双击鼠标,这时会弹出一个ID属性对话框,在其中的ID编辑框中输入ID,如:IDC_MYBUTTON,在Caption中输入控件标题或注解(注:Caption框不能为空,为空会导致创建失败),这里我输入的是按钮上要显示的文字--动态按钮。
2.建立控件对象:
不同种类的控件应创建不同的类对象:
·按钮控件 CButton (包括普通按钮、单选按钮和复选按钮)
·编辑控件 CEdit
·静态文本控件 CStatic
·标签控件 CTabCtrl
·旋转控件 CSpinButtonCtrl
·滑标控件 CSliderCtrl
·多信息编辑控件 CRichEditCtrl
·进度条控件 CProgressCtrl
·滚动条控件 CSrcollBar
·组合框控件 CComboBox
·列表框控件 CListBox
·图像列表控件 CImageCtrl
·树状控件 CTreeCtrl
·动画控件 CAnimateCtrl
展开全部
重写一个对话框类(继承于CDialog),在构造函数中关联你的对话框ID,然后重写其OnInitDialog,在里面create你的控件。在主对话框中怎么用不用说了吧。
追问
我主要是把Create函数的第三个参数写成GetDlgItem(我要的对话框ID).不管把这句话放在是主对话框的OnInitDialog还是新类重写的OnInitDialog,编译通过,但是运行就会弹出错误,让我选择“重试”“中止”和“忽略”
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这里有个例子,动态添加按钮的。调用控件的Create函数,就可以创建控件了。
追问
打不开啊。而且你这个是单文档程序,我做的是对话框。Create我会。我就是想知道如何把控件添加到我自己新建的对话框资源中。
追答
看来你没装Visual Studio 2008。对话框和单文档是一样的,在初始化时Create就好了。你既可以在OnInitDialog创建,也可以自己定义个函数,在想要的时候创建。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询