⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 folder.h

📁 一个国人自己实现图像库的程序(有参考价值)
💻 H
字号:
//////////////////////////////////////////////////////////////////
//																//
//		用途 : 文件夹											//
//		创建 : [Foolish] / 2001-4-24							//
//		更新 : 2002-1-12										//
//		主页 : http://crazybit.topcities.com/					//
//		邮箱 : crazybit@263.net									//
//									(c) 1999 - 2002 =USTC= 付黎	//
//////////////////////////////////////////////////////////////////
#ifndef		__FOO_FOLDER_H__
#define		__FOO_FOLDER_H__
#include <windows.h>
#include <shlobj.h>
#pragma once

//===================================================================
//	显示选择文件夹的类
//===================================================================
class FCSelectFolder
{
public :
	FCSelectFolder (HWND hParent = NULL, PCTSTR szTitle = NULL) ;
	~FCSelectFolder () ;

	int		Select () ;	// return IDOK or IDCANCEL
	PCTSTR	GetPathName () ;

protected :
	//	重载函数
	virtual void  OnSelChange (ITEMIDLIST * pIdl) ;
	virtual void  BrowseDispatchMsg (HWND hWnd, UINT uMsg, LPARAM lParam) ;

	void	EnableOK (BOOL bEnable = TRUE) ;
	void	SetStatusText (PCTSTR szStatusText) ;

protected :
	BROWSEINFO	m_bi ;
	TCHAR		m_szPath[_MAX_PATH] ;
	HWND		m_hSelectDlg ;

	friend int CALLBACK __fooBrowseCallbackProc (HWND hWnd, UINT uMsg, LPARAM lParam, LPARAM lpData) ;
} ;

//===================================================================
inline FCSelectFolder::FCSelectFolder (HWND hParent, PCTSTR szTitle) {
	ZeroMemory (&m_bi, sizeof (BROWSEINFO)) ;
	m_bi.hwndOwner		= hParent ;
	m_bi.pidlRoot		= NULL ;
	m_bi.pszDisplayName	= m_szPath ;	
	m_bi.lpszTitle		= (szTitle == NULL) ? TEXT("选择文件夹") : szTitle ;
	m_bi.ulFlags		= BIF_STATUSTEXT | BIF_USENEWUI ;
	m_bi.lpfn			= __fooBrowseCallbackProc ;
	m_bi.lParam			= (LPARAM) this ;
	m_szPath[0]			= TEXT('\0') ;
}
inline FCSelectFolder::~FCSelectFolder () {
}
inline PCTSTR FCSelectFolder::GetPathName () {
	return (m_szPath[0] == TEXT('\0')) ? NULL : m_szPath ;
}
inline void  FCSelectFolder::EnableOK (BOOL bEnable) {
	::SendMessage (m_hSelectDlg, BFFM_ENABLEOK, (bEnable ? 1 : 0), 0) ;
}
inline void  FCSelectFolder::SetStatusText (PCTSTR szStatusText) {
	::SendMessage (m_hSelectDlg, BFFM_SETSTATUSTEXT, 0, (LPARAM) szStatusText) ;
}

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -