MFC Edit Browse Control

MFC Edit Browse Control

flyfish

环境:Visual Studio 2013

属性 Browse Mode
可以选择 文件浏览,文件夹浏览,自定义浏览

绑定一个值变量就可以使用编辑框的字符串

CString m_strFileFolder;
DDX_Text(pDX, IDC_MFCEDITBROWSE_FOLDER, m_strFileFolder);

IDC_MFCEDITBROWSE_FOLDER 是控件ID

绑定控件变量 可控制控件

CMFCEditBrowseCtrl m_wndFolderEdit;
m_wndFolderEdit.EnableFolderBrowseButton();


CMFCEditBrowseCtrl m_wndFileEdit;
m_wndFileEdit.EnableFileBrowseButton();

可设置按钮图片
SetBrowseButtonImage

可重写的函数

    virtual void OnBrowse();
    virtual void OnDrawBrowseButton(CDC* pDC, CRect rect, BOOL bIsButtonPressed, BOOL bIsButtonHot);
    virtual void OnChangeLayout();
    virtual void OnAfterUpdate();
        virtual BOOL OnIllegalFileName(CString& strFileName);

重写示例

头文件

#pragma once


// CCustomEditBrowse

class CCustomEditBrowse : public CMFCEditBrowseCtrl
{
    DECLARE_DYNAMIC(CCustomEditBrowse)

public:
    CCustomEditBrowse();
    virtual ~CCustomEditBrowse();

protected:
    DECLARE_MESSAGE_MAP()
public:
    virtual void OnBrowse();
}

实现文件

#include "stdafx.h"
#include "CustomEditBrowse.h"


// CCustomEditBrowse

IMPLEMENT_DYNAMIC(CCustomEditBrowse, CMFCEditBrowseCtrl)

CCustomEditBrowse::CCustomEditBrowse()
{

}

CCustomEditBrowse::~CCustomEditBrowse()
{
}


BEGIN_MESSAGE_MAP(CCustomEditBrowse, CMFCEditBrowseCtrl)
END_MESSAGE_MAP()



// CCustomEditBrowse 消息处理程序


void CCustomEditBrowse::OnBrowse()
{
    SetWindowText(_T("OnBrowse")); 
}

点击浏览按钮时 文本框中显示OnBrowse

你可能感兴趣的:(VC)