VC++ MFC 框架中 添加按钮控件

用的软件是vs2008+opencv 想做一个车牌识别的界面
如下图所示;好像mfc单文档模式下只能在工具栏上加按钮?为了美观我想把按钮加在图片右边的空白处该怎么做?
另外要是单文档模式下实在不能在白色区域加钮;用对话框的形式加钮很方便,但是不知道怎么openfile?完全就没有菜单栏好像。。求解

一起200分
http://zhidao.baidu.com/question/161921523.html

我建议你用窗口拆分,将单文档拆分(Csplitterwnd类)成左右两个部分,其中一部分用用CFormView做为基类,这个类就和对话框差不多,你可以自由的往上边加控件什么的,而且很美观。
具体做法如下:
1.在资源中新建一个对话框然后右键类向导,然后新建一个类,继承自CFormView类,模板选刚才的对话框ID,这样分割窗口的左边就好了。
2.然后在主窗口类中声明成员变量CSplitterWnd s_wnd,然后重载OnCreateClient虚函数,然后在里边用s_wnd对象将其拆分,注意拆分后要注释掉原来的return CFrameWnd::OnCreateClient(lpcs, pContext);直接给返回真就行了。
3关于左右窗口的交互,有很多种,在这里教你一种,就是在左右两个窗口类(CFormView和你本来的View)中声明对方的指针,然后再2步骤中赋值,怎么样得到两个窗口的指针呢??哈哈,在分割时用CreateView时会返回创建View的指针,然后把左窗口的指针赋值给右窗口的成员变量就行了,这样就可以实现左右窗口的交互了。然后你可以在你新建的对话框窗口中拖入一个按钮,然后再CFormView中添加响应就ok了。哈哈,方法就是这样,细节你去查查CSplitterWnd类的使用就可以了,网上很多的。分割窗口后可以近一步美化界面,添加更多的使用功能。哈哈~~~给分吧。 另外一个问题我也回答了,记得给分啊。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-06-25
直接在View中创建一个按钮对象,使用CButton的MoveWindow函数将按钮放置到合适的位置即可。
第2个回答  2010-06-25
VS2008没用过,跟你说一种在VC++6.0下的实现View添加按钮及其消息处理的方法吧
1、在你的工程的View类的头文件(***View.h)中
1.0 添加声明
CButton * m_pBtn;

2.0 在//{{AFX_MSG(C***View) 和 //}}AFX_MSG DECLARE_MESSAGE_MAP()之间添加消息处理函数声明
afx_msg void OnBtnFileOpen();

2、在工程View类的实现文件中(***View.cpp)
2.0 定义按钮ID
#define ID_MYBUTTON1 12315

2.1 构造函数中添加代码
m_pBtn = NULL;
2.2 析构函数中添加代码
if (m_pBtn != NULL)
{
m_pBtn->Detach();
delete m_pBtn;
}
2.3 在OnInitialUpdate()函数中添加
if(m_pBtn == NULL)
{
m_pBtn = new CButton;
int w = 50;
int h = 20;
int x0 = 100; // 这里是按钮的起始x坐标,以后用到再移动按钮吧
int y0 = 100; // 这里是按钮的起始y坐标,以后用到再移动按钮吧
m_pBtn->Create(_T("我的Button"),
WS_CHILD|WS_VISIBLE|BS_FLAT,
CRect(x0, y0, x0 + w, y0 + h),
this,
ID_MYBUTTON1);
}
2.4 在 BEGIN_MESSAGE_MAP(C***View, CView) 和 END_MESSAGE_MAP() 之间添加消息映射
ON_BN_CLICKED(ID_MYBUTTON1, OnBtnFileOpen)
2.5 添加消息处理函数
void C***View::OnBtnFileOpen()
{

CFileDialog FileDlg(TRUE,
_T("jpg"),
_T("*.jpg"),
OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,
TEXT("图像文件(*.jpg)|*.jpg||"),
this);

if (FileDlg.DoModal()!=IDOK)
{
return;
}

CString strFileName = FileDlg.GetPathName();

HANDLE hFile
= CreateFile(strFileName,
GENERIC_READ|GENERIC_WRITE,
FILE_SHARE_READ|FILE_SHARE_WRITE,
NULL,
CREATE_ALWAYS,
FILE_ATTRIBUTE_NORMAL,
0);
// 利用hFile进行文件操作
}本回答被网友采纳
第3个回答  2010-06-25
很简单有这个类.
如何在VC++ MFC中的工具栏中加入Edit控件类似IE的地址栏,我只能插入...
在VC++ MFC中的工具栏中加入类似IE地址栏的Edit控件时,首先需要在工具栏中加入两个分割线。使用setbuttoninfo函数设置分割线的宽度。接着,调用getitemrect函数获取分割线区域的大小,并将其存储在rect结构体中。根据分割线区域的大小,创建一个combobox。具体操作如下:使用setbuttoninfo函数设置分割线的

如何在VC++6.0下添加一个按钮控件
1、首先,点击Insert插入按钮。2、然后,接着点击File Text按钮。3、接下来,找到Insert File文件。4、这个时候,就可以在这里设置查找范围。5、此时,还可以点击此处浏览文件。6、最后,点击Ok按钮即可成功确定。注意事项:VC++集成了便利的除错工具,特别是集成了微软Windows视窗操作系统应用程序接口(Windo...

VC++(MFC)中动态创建和管理按钮控件,怎么做?
动态Create按钮的时候,有个参数是ID,这个ID就可以用来相应按钮的单击事件。你把所有动态创建的按钮指针存放到map中,ID作为key,按钮指针作为value,这样就可以管理了。数据库中相似的也存Id,跟对应的一些属性,下次读入ID,又可以Create。

vs2008怎么可以和vc++6.0建立mfc的时候直接出来窗口 可以添加按钮
vs2008中没有ClassWizard,可以在类视图中选择相应的类右键选择属性,在属性对话框中可以添加消息响应。添加按钮等组件时,右边会停靠一个工具箱的对话框,直接拖动就可以了

请问下面的图片左上方的两个按钮加中间竖线用vc++中的MFC怎么去实现...
就是图像个组件,把右边拉 左边,拉成一条线,在选择图中属性即可

vc++6.0中使用MFC如何做到,用户从框中输入后,将值赋给某个对象的数据...
1 添加对话框资源 2 在对话框资源里面添加 2个 edit 控件(一个输入车牌,一个显示费用) 和 确定按钮(控件)3 用类向导 将 edit 控件绑定给对话框类(DDX_Control)4 编写确定按钮 的消息消息处理函数(对话框类). 在里面进行 费用计算,然后 UpdateData(FALSE),把数据同步到控件,(要不要Invalidate ...

VC++: MFC中怎么实现鼠标单击buttom按钮,在cedit文本框中显示一串文字...
id是idc_button1,在这个空间上面右击鼠标,选择classwizard,添加bn_clicked消息,然后在onbutton1消息响应函数中调用getdlgitem(idc_edit1)获取当前编辑控件的指针调用setwindowtext()函数设置,形式如下getdlgitem(idc_edit1)-amp;gt;setwindowtext(“这是个测试“);nbsp;完成!你可是试验一下 ...

如何动态添加控件,vc++实现,有点类似于MFC里面的工具箱。
控件也是窗口,API 中 CreateWindow就是了,MFC 中的话,CButton button;button.Create

我的vc++,MFC界面上有很多控件,长度,宽度都不同,怎么设置让他们长宽相同...
如图片所示的位置便是调整的快捷按钮.当然也可以直接在菜单中的"布局"选项进行设置

VC++: MFC中怎么实现鼠标单击buttom按钮,在c_list 文本框中显示一串文...
双击按钮,它会让你决定按钮响应函数的名字,然后它会显示那个函数,你在函数里面给c_list赋值,然后调用 UpdateData(FALSE);即可

相似回答