MFC求助,怎么把多个按钮组合为一个控件?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MFC求助,怎么把多个按钮组合为一个控件?相关的知识,希望对你有一定的参考价值。

自己新建一个类,那么该类的基类是什么呢?里面需要什么成员变量及成员函数?急!求助。。。

从CWnd派生一个子类,在子类OnCreate函数中动态创建你的5个按钮。 参考技术A 多个按钮组合,自己建类,岂不是要多继承?追问

多继承?这是什么东东。我就是想把5个按钮集合成一个控件,怎么实现?

追答

把需要的5个按钮的类作为自己写的类的基类。

参考技术B 可以自己编写动态链接库 也可以使用类继承 参考技术C 使用类继承追问

我知道要继承,基类是什么?

追答

那要看你控件要什么类形的啊。。如你要文本你可以CEidt基类啊。。当然了你可以不要基类如你可发重写CString类啊。。你在继承你写的类啊。。

VC MFC 框架中 添加按钮控件

用的软件是vs2008+opencv 想做一个车牌识别的界面
如下图所示;好像mfc单文档模式下只能在工具栏上加按钮?为了美观我想把按钮加在图片右边的空白处该怎么做?
另外要是单文档模式下实在不能在白色区域加钮;用对话框的形式加钮很方便,但是不知道怎么openfile?完全就没有菜单栏好像。。求解
解决问题了我再加分
您能否解释得详细一点? 车辆图片右边的白色区域在resource view里面好像没有可以操作的地方。
另外对话框的属性里面哪一项是添加菜单的?我的是英文版 不太理解
我打算用wjjroy602602 所说的formview方法,但是找不到像OnDraw那种显示的函数,我若要想显示一副图片到上面该怎么做?实在对MFC太陌生希望好心人解答详细些~ 感谢大家!
补充问题回复到这里http://zhidao.baidu.com/question/162107520.html

openfile很简单,你只需要重载CDocment类的OnOpenFile就可以了,然后再它里边就可以得到要打开的文件路径。如果你要用按钮打开,也挺好做的,你在按钮响应里,声明CFileDialog类的变量fdlg然后fdlg.DoModel()就可以了,然后
if(fdlg.OnOk())//意思就是打开了文件

fdlg.GetPathName();
就可以得到文件目录了,哈哈,给分吧。都帮你解决了。!!!~~~
参考技术A 谁说单文档不能添加button:
1.为view类添加虚函数OnInitialUpdate。
2.为view类添加成员变量CButton m_btn。
2.在OnInitialUpdate添加代码:
CRect rect;
GetClientRect(rect);
m_btn.Create("打开", BS_DEFPUSHBUTTON | WS_VISIBLE | WS_CHILD, CRect(rect.Width() - 50,
rect.top, rect.Width(), rect.top + 50), this, IDC_BTN_OPEN);
3.在BEGIN_MESSAGE_MAP(CTestView, CView)
END_MESSAGE_MAP()添加消息映射ON_BN_CLICKED(IDC_BTN_OPEN, OnBtnOpen)
4.在DECLARE_MESSAGE_MAP()上添加消息响应原型afx_msg void OnBtnOpen();
5.添加函数实现void CTestView::OnBtnOpen()

MessageBox(_T("test"));


OK!
参考技术B 1、解答:车辆图片右边的白色区域在resource view里面好像没有可以操作的地方。

在添加图片时获取图片的宽和高的信息,然后移动按钮(用MoveWindow)即可。

2、解答:对话框的属性里面哪一项是添加菜单的?

找到对话框的属性栏,然后找带Menu字样的项,把想要加的菜单ID加进去即可
参考技术C 1.单文档会没有菜单栏?除非你自己把它去掉了
2.如果你想在view里面添加控件,就要在建工程的时候把view的基类改成formview,然后就可以像对话框一样拖拉控件了(当然如果你喜欢的话也可以自己生成控件类的对象然后create,自己再慢慢添加消息,消息映射,响应)
3.对话框的属性里面有一项叫menu(或者菜单)的属性吧,里面可以选择一个菜单的ID,然后对话框会自己显示。
参考技术D 单文档模式下实在不能在白色区域加钮 你是说的客户区域吗?可以自己画嘛。
对话框的菜单栏是可以加的。在对话框上点右键 -》属性 就有个添加菜单的。
第5个回答  2010-06-25

在视图类添加create函数,然后再找个函数里面添加控件并初始化就可以了

以上是关于MFC求助,怎么把多个按钮组合为一个控件?的主要内容,如果未能解决你的问题,请参考以下文章

如何把几个MFC控件组合在一起

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

MFC里怎么改变窗口上按钮控件的颜色

MFC组合框控件下拉列表式如何读取所选值和设置默认选项

MFC 怎么将控件放到一个组,就是一组复选框,里面的CHECK BOX有3个,一起用于选择控制

MSVS 2008 如何MFC添加控件?