编写自己的CMFCEditBrowseCtrl,实现打开指定类型的文件

     在Visual Studio 2010和Visual Studio 2008 SP1中,微软采用了BCG库对应用程序界面进行美化,其中CMFCEditBrowseCtrl控件可以实现在Edit控件中浏览打开文件的功能。


但是,问题出现了,该控件默认的打开文件类型是所有文件,要如何才能打开自己指定的文件类型呢?这时就需要编写自己的CMFCEditBrowseCtrl类。

具体步骤:

1.添加类,选择MFC类,在类名中填入自定义的类名如:CMyEditBrowseCtrl,选择父类为CMFCEditBrowseCtrl。

2.在头文件中添加如下代码



#pragma once

// CMyEditBrowseCtrl

class CMyEditBrowseCtrl : public CMFCEditBrowseCtrl
{
	//DECLARE_DYNAMIC(CMyEditBrowseCtrl)

public:
	CMyEditBrowseCtrl();
	virtual ~CMyEditBrowseCtrl();

public:
	CString m_strFileType;//自定义开文件类型

private:
	virtual void OnBrowse();//重写CMFCEditBrowseCtrl的打开函数

protected:
	DECLARE_MESSAGE_MAP()
};

在CPP文件中添加如下代码

#include "stdafx.h"
#include "MyEditBrowseCtrl.h"


// CMyEditBrowseCtrl

//IMPLEMENT_DYNAMIC(CMyEditBrowseCtrl, CMFCEditBrowseCtrl)

CMyEditBrowseCtrl::CMyEditBrowseCtrl()
{
	m_strFileType = _T("All Files (*.*)|*.*||");
}

CMyEditBrowseCtrl::~CMyEditBrowseCtrl()
{
}


BEGIN_MESSAGE_MAP(CMyEditBrowseCtrl, CMFCEditBrowseCtrl)
END_MESSAGE_MAP()



// CMyEditBrowseCtrl 消息处理程序


void CMyEditBrowseCtrl::OnBrowse()
{
	CString TempPathName;

	CFileDialog dlg(TRUE,NULL,NULL,NULL,m_strFileType,NULL,0,TRUE);
	(dlg.m_ofn).lpstrTitle=_T("打开文件");

	if(dlg.DoModal()==IDOK)
	{
		TempPathName=dlg.GetPathName();
		SetWindowText(TempPathName);
	}
	else
		return;
}

在使用的时候只需:

在头文件中添加:

#include "MyEditBrowseCtrl.h"

CMyEditBrowseCtrl m_wndFileEdit;


在实现函数中添加:

m_wndFileEdit1.EnableFileBrowseButton();
m_wndFileEdit1.m_strFileType=_T("Text Files(*.txt)|*.txt|All Files (*.*)|*.*||");


注意:在创建CMyEditBrowseCtrl类时,一定要禁用如下宏:

头文件中:

DECLARE_DYNAMIC(CMyEditBrowseCtrl)

Cpp文件中:

IMPLEMENT_DYNAMIC(CMyEditBrowseCtrl, CMFCEditBrowseCtrl)


否则会编译会出现如下错误:

error C2065: “classCMFCEditBrowseCtrl”: 未声明的标识符





  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: 'cmfceditbrowsectrl' 是 MFC 库中的一个类,用于创建和管理编辑框和浏览框的控件。它允许用户从文件系统中浏览文件,并选择要在编辑框中打开文件。这个控件在 Windows 应用程序开发中非常实用。 ### 回答2: cmfceditbrowsectrlMFC库中的一个控件,用于创建和管理编辑框内的文本浏览器。它提供了一种方便的方式来显示和编辑大量文本。 cmfceditbrowsectrl具有很多实用的功能。首先,它可以将大量文本分页显示,以便用户在浏览时可以逐页阅读。其次,它支持文本搜索和替换功能,用户可以快速定位并编辑特定的文本内容。此外,cmfceditbrowsectrl还可以自动将文本内容调整为适合控件大小的方式,确保内容的完整显示。 除了常规的文本编辑功能,cmfceditbrowsectrl还支持文本选择、复制和粘贴等操作,使用户可以方便地编辑文本内容。通过设置控件的属性,我们还可以自定义文本的样式,例如字体、颜色、对齐方式等,以满足特定的显示需求。 在MFC应用程序中使用cmfceditbrowsectrl非常简单。我们只需要在对应的对话框中添加一个编辑框控件,并设置其属性来实现所需的功能。在程序运行时,我们可以通过简单的函数调用来加载、保存和编辑文本内容,并通过cmfceditbrowsectrl的回调函数处理各种事件。 总的来说,cmfceditbrowsectrl是一个强大而灵活的控件,使用户能够更方便地处理和管理大量文本内容。 ### 回答3: cmfceditbrowsectrl是一个MFC类,是用于创建和管理编辑框控件的类。它是MFC库提供的一个常用控件类之一,用于在应用程序中显示文本并允许用户编辑文本内容。 cmfceditbrowsectrl类提供了许多方法和属性,以便于开发人员在应用程序中使用和管理编辑框控件。开发人员可以通过使用cmfceditbrowsectrl类提供的方法来设置编辑框的外观和行为,例如设置文本颜色、字体、背景颜色、对齐方式等。 此外,cmfceditbrowsectrl类还提供了许多与编辑框控件相关的事件处理方法,开发人员可以使用这些方法来响应用户对编辑框的操作,例如文本输入、删除、复制粘贴等。 使用cmfceditbrowsectrl类创建和管理编辑框控件非常简单。开发人员只需实例化cmfceditbrowsectrl对象并将其添加到应用程序窗口中,然后就可以在窗口中看到一个可编辑的文本框。通过调用cmfceditbrowsectrl对象的方法,开发人员可以对编辑框进行各种操作。 总结来说,cmfceditbrowsectrl是一个用于创建和管理编辑框控件的MFC类,提供了许多方便的方法和属性,使开发人员能够轻松地在应用程序中创建和使用编辑框控件。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值