MFC中CButton动态创建问题

MFC中CButton动态创建问题,第1张

第二个按钮第三个参数CRect(100, 100, 50, 50) 中4个参数x1,y1,x2,y2 分别是左上角和右下角的坐标 像你这样按钮的宽度是负值当然显示不出来 改成CRect(,50, 50,100, 100) 就可以了

动态控件创建过程:

1.建立控件ID号:

ID号是控件的标识,创建控件前必须先为它设置一个ID号。

打开资源中的“String Table”,在空白行上双击鼠标,这时会d出一个ID属性对话框,在其中的ID编辑框中输入ID,如:IDC_MYBUTTON,在Caption中输入控件标题或注解(注:Caption框不能为空,为空会导致创建失败),这里我输入的是按钮上要显示的文字--动态按钮。

2.建立控件对象:

不同种类的控件应创建不同的类对象:

·按钮控件 CButton (包括普通按钮、单选按钮和复选按钮)

·编辑控件 CEdit

·静态文本控件 CStatic

·标签控件 CTabCtrl

·旋转控件 CSpinButtonCtrl

·滑标控件 CSliderCtrl

·多信息编辑控件 CRichEditCtrl

·进度条控件 CProgressCtrl

·滚动条控件 CSrcollBar

·组合框控件 CComboBox

·列表框控件 CListBox

·图像列表控件 CImageCtrl

·树状控件 CTreeCtrl

·动画控件 CAnimateCtrl

你可以创建一个派生于CButton的的子类,用这个子类它来动态创建按钮,所以消息都可以在这个子类中进行处理。在子类中对控件id进行判断,就可以知道是哪个按钮按下。至于获取鼠标位置:GetCursorPos函数可以获取鼠标相对于屏幕的位置。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11394454.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-15
下一篇2023-05-15

发表评论

登录后才能评论

评论列表(0条)

    保存