亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? fileopen.cpp

?? wince 用的注冊表編輯器源代碼。可以看和編輯wince 注冊表
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
#define	STRICT
#include	<windows.h>
#include	<windowsx.h>
#include	<commctrl.h>
#include	<commdlg.h>
#include	<tchar.h>
#include	"basewin.h"
#include	"resource.h"
#include	"tools.h"
#include	"fileopen.h"

#define		GawaroBaseKey	TEXT("Software\\Gawaro")
#define		MAX_RECENT		10

extern	HFONT	CreateListboxFont() ;

/*-------------------------------------------------------------------------*
 * FileOpen 僟僀傾儘僌
 *-------------------------------------------------------------------------*/
class FileOpenDialog : public Window {
	BOOL			m_fSave ;
	OPENFILENAME	*m_pOfn ;
	TCHAR		m_sWildCard[ MAX_PATH ] ;
	TCHAR		m_sFile[ MAX_PATH ] ;
	TCHAR		m_sDir[ MAX_PATH ] ;
	HFONT		m_hFont ;
	LPCTSTR		m_pAppName ;
	BOOL		m_fRecent ;

public:
	FileOpenDialog( OPENFILENAME *pOfn, BOOL fSave, LPCTSTR pAppName ) ;
	~FileOpenDialog() ;

	LPCTSTR	GetText() const { return m_sFile ; }
	LPCTSTR	GetDir() const { return m_sDir ; }

	void	WMCreate( HWND hDlg ) ;
	LRESULT	WMCommand( HWND hDlg, UINT msg, WPARAM wp, LPARAM lp ) ;

	BOOL	EnumDir( HWND hWnd, LPDWORD pCount, LPDWORD pMem ) ;
	BOOL	ListDir( HWND hWnd, LPCTSTR pPrevDir ) ;
	void	InitListDir( HWND hWnd ) ;
	BOOL	ChangeDir( HWND hDlg, LPBOOL pDone ) ;
	BOOL	EnumRecent( HWND hWnd ) ;
	BOOL	SelectRecent( HWND hDlg ) ;

	static LPCTSTR	c_sDir ;
	static LPCTSTR	c_sPatDir ;
	static LPCTSTR	c_sPatFile ;
} ;

LPCTSTR	FileOpenDialog::c_sDir = TEXT("   <DIR>") ;
LPCTSTR	FileOpenDialog::c_sPatDir = TEXT(" %s\t%s") ;
LPCTSTR	FileOpenDialog::c_sPatFile = TEXT("%s\t%8d") ;

FileOpenDialog::FileOpenDialog( OPENFILENAME *pOfn, BOOL fSave, LPCTSTR pAppName )
{
	LPCTSTR			ptr ;

	m_fSave = fSave ;
	m_pOfn = pOfn ;
	/* 僼僅儞僩傪庢摼偡傞 */
	m_hFont = CreateListboxFont() ;
	/* 儚僀儖僪僇乕僪傪嶌惉偡傞 */
	_tcscpy( m_sWildCard, TEXT("*.*") ) ;
	ptr = pOfn->lpstrFilter ;
	if ( ptr && *ptr ) {
		ptr += _tcslen( ptr ) + 1 ;
		if ( *ptr ) {
			_tcscpy( m_sWildCard, ptr ) ;
		}
	}
	_tcscpy( m_sFile, pOfn->lpstrFile       ? pOfn->lpstrFile       : TEXT("") ) ;
	_tcscpy( m_sDir,  pOfn->lpstrInitialDir ? pOfn->lpstrInitialDir : TEXT("\\") ) ;
	m_pAppName = pAppName ;
	m_fRecent = pAppName ? TRUE : FALSE ;
}

FileOpenDialog::~FileOpenDialog()
{
	DeleteObject( m_hFont ) ;
}

void
FileOpenDialog::WMCreate( HWND hDlg )
{
	DWORD	w ;
	RECT	rect ;
	int		tabs[ 1 ] ;
	HWND	hWnd = GetDlgItem( hDlg, IDC_LST_FILE ) ;
	LPCTSTR	pszTitle ;

	/* 僟僀傾儘僌僞僀僩儖傪愝掕偡傞 */
	if ( m_pOfn->lpstrTitle ) {
		pszTitle = m_pOfn->lpstrTitle ;
	} else if ( m_fSave ) {
		pszTitle = TEXT("Save As") ;
	} else {
		pszTitle = TEXT("Open") ;
	}
	SetWindowText( hDlg, pszTitle ) ;
	/* 僨傿儗僋僩儕儕僗僩偺僼僅儞僩傪愝掕偡傞 */
	SendMessage( hWnd, WM_SETFONT, (WPARAM) m_hFont, (LPARAM) TRUE ) ;
	/* TAB偺埵抲傪愝掕偡傞 */
	GetClientRect( hDlg, &rect ) ;
	w = rect.right - 8 * 10 ;
	tabs[0] = w / ((LOWORD(GetDialogBaseUnits()) + 3) / 4) ;
	SendMessage( hWnd, LB_SETTABSTOPS, 1, (LPARAM) tabs ) ;

	if ( m_fRecent ) {
		/* 嵟怴偺僼傽僀儖堦棗傪摼傞 */
		if ( EnumRecent( hWnd ) ) {
			/* 僇儗儞僩僨傿儗僋僩儕傪昞帵偡傞 */
			SetDlgItemText( hDlg, IDC_CAP_DIR, TEXT("Recent Files...") ) ;
			return ;
		}
	}
	/* 僨傿儗僋僩儕撪梕傪弶婜昞帵偡傞 */
	InitListDir( hWnd ) ;
	/* 僇儗儞僩僨傿儗僋僩儕傪昞帵偡傞 */
	SetDlgItemText( hDlg, IDC_CAP_DIR, m_sDir ) ;
	/* 僨傿儗僋僩儕儕僗僩偺慖戰(zhàn)傪夝彍偡傞 */
	SendMessage( hWnd, LB_SETCURSEL, (WPARAM) LB_ERR, 0 ) ;
}

LRESULT
FileOpenDialog::WMCommand( HWND hDlg, UINT msg, WPARAM wp, LPARAM lp )
{
	LPTSTR	ptr ;
	BOOL	fDone ;
	HWND	hCtrl ;
	DWORD	index ;
	TCHAR	buf[ MAX_PATH ] ;

	hCtrl = GetDlgItem( hDlg, IDC_LST_FILE ) ;
	switch ( GET_WM_COMMAND_ID( wp, lp ) ) {
	case IDCANCEL:
		EndDialog( hDlg, FALSE ) ;
		return TRUE ;
	case IDC_BTN_DIR:
		if ( m_fRecent ) {
			/* 僨傿儗僋僩儕撪梕傪弶婜昞帵偡傞 */
			InitListDir( hCtrl ) ;
			/* 僇儗儞僩僨傿儗僋僩儕傪昞帵偡傞 */
			SetDlgItemText( hDlg, IDC_CAP_DIR, m_sDir ) ;
			/* 僨傿儗僋僩儕堦棗偵僼僅乕僇僗堏摦 */
			SetFocus( hCtrl ) ;
		}
		return TRUE ;
	case IDC_LST_FILE:
		switch ( GET_WM_COMMAND_CMD( wp, lp ) ) {
		case LBN_SELCHANGE:
			if ( m_fRecent ) {
				break ;
			}
			index = SendDlgItemMessage( hDlg, IDC_LST_FILE, LB_GETCURSEL, 0, 0 ) ;
			if ( index == LB_ERR ) {
				break ;
			}
			SendDlgItemMessage( hDlg, IDC_LST_FILE, LB_GETTEXT, (WPARAM) index, (LPARAM) buf ) ;
			ptr = _tcschr( buf, TEXT('\t') ) ;
			if ( ptr ) {
				if ( !_tcsicmp( ptr + 1, c_sDir ) ) {
					*buf = 0 ;
				} else {
					*ptr = 0 ;
				}
			} else {
				*buf = 0 ;
			}
			SetDlgItemText( hDlg, IDC_EDT_FILE, buf ) ;
			return TRUE ;
		case LBN_DBLCLK:
			if ( m_fRecent ) {
				if ( SelectRecent( hDlg ) ) {
					EndDialog( hDlg, TRUE ) ;
				}
			} else {
				if ( ChangeDir( hDlg, &fDone ) ) {
					if ( fDone ) {
						EndDialog( hDlg, TRUE ) ;
					}
					return TRUE ;
				}
			}
			break ;
		}
		break ;
	case IDOK:
		if ( GetFocus() == hCtrl ) {
			SendMessage( hDlg, WM_COMMAND, MAKELONG(IDC_LST_FILE, LBN_DBLCLK), 0 ) ;
			return TRUE ;
		} else if ( m_fRecent ) {
			/* 僨傿儗僋僩儕撪梕傪弶婜昞帵偡傞 */
			InitListDir( hCtrl ) ;
			/* 僇儗儞僩僨傿儗僋僩儕傪昞帵偡傞 */
			SetDlgItemText( hDlg, IDC_CAP_DIR, m_sDir ) ;
			/* 僨傿儗僋僩儕堦棗偵僼僅乕僇僗堏摦 */
			SetFocus( hCtrl ) ;
			return TRUE ;
		}
		GetDlgItemText( hDlg, IDC_EDT_FILE, buf, MAX_PATH ) ;
		if ( !*buf ) {
			SetFocus( hCtrl ) ;
			return TRUE ;
		}
		ptr = _tcsrchr( buf, TEXT('.') ) ;
		if ( !ptr ) {
			/* 奼挘巕偑偮偄偰偄側(cè)偄応崌 */
			if ( m_pOfn->lpstrDefExt ) {
				/* 僨僼僅儖僩偺奼挘巕傪偮偗傞 */
				_tcscat( buf, TEXT(".") ) ;
				_tcscat( buf, m_pOfn->lpstrDefExt ) ;
			}
		} else if ( !*(ptr + 1) ) {
			/* 嵟屻偵偮偗偨僺儕僆僪偼嶍傞 */
			*ptr = 0 ;
		}
		_tcscpy( m_sFile, m_sDir ) ;
		catdir( m_sFile, buf, NULL ) ;
		EndDialog( hDlg, TRUE ) ;
		return TRUE ;
	}
	return 0 ;
}

BOOL
FileOpenDialog::EnumDir( HWND hWnd, LPDWORD pCount, LPDWORD pMem )
{
	WIN32_FIND_DATA	find ;
	HANDLE			hFind ;
	BOOL			fAdd = !pCount && !pMem ;
	TCHAR			findPath[ MAX_PATH ], *ptr ;
	DWORD			count = 0, num_mem = 0, attr ;

	attr = GetFileAttributes( m_sDir ) ;
	if ( attr == 0xFFFFFFFF || !(attr & FILE_ATTRIBUTE_DIRECTORY) ) {
		return FALSE ;
	}
	if ( m_sDir && _tcscmp( m_sDir, TEXT("\\") ) ) {
		/* 恊僨傿儗僋僩儕傊偺僄儞僩儕傪嶌惉偡傞 */
		wsprintf( findPath, c_sPatDir, TEXT(".."), c_sDir ) ;
		if ( fAdd ) {
			SendMessage( hWnd, LB_ADDSTRING, 0, (LPARAM) findPath ) ;
		} else {
			count ++ ;
			num_mem += _tcslen( findPath ) ;
		}
	}
	/* 僨傿儗僋僩儕専嶕梡偺儚僀儖僪僇乕僪傪嶌惉偡傞 */
	_tcscpy( findPath, m_sDir ) ;
	catdir( findPath, TEXT("*.*"), NULL ) ;
	/* 僨傿儗僋僩儕傪専嶕偡傞 */
	hFind = FindFirstFile( findPath, &find ) ;
	if ( hFind != INVALID_HANDLE_VALUE ) {
		do {
			if ( !_tcscmp( find.cFileName, TEXT(".") ) ) {
				continue ;
			} else if ( !_tcscmp( find.cFileName, TEXT("..") ) ) {
				continue ;
			} else if ( !(find.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) ) {
				continue ;
			}
			wsprintf( findPath, c_sPatDir, find.cFileName, c_sDir ) ;
			if ( fAdd ) {
				/* 儕僗僩儃僢僋僗偵崁栚傪捛壛偡傞 */
				SendMessage( hWnd, LB_ADDSTRING, 0, (LPARAM) findPath ) ;
			} else {
				count ++ ;
				num_mem += _tcslen( findPath ) + 1 ;
			}
		} while ( FindNextFile( hFind, &find ) ) ;
		FindClose( hFind ) ;
	}
	/* 僼傽僀儖専嶕梡偺儚僀儖僪僇乕僪傪嶌惉偡傞 */
	_tcscpy( findPath, m_sDir ) ;
	catdir( findPath, m_sWildCard, NULL ) ;
	/* 僼傽僀儖傪専嶕偡傞 */
	hFind = FindFirstFile( findPath, &find ) ;
	if ( hFind != INVALID_HANDLE_VALUE ) {
		do {
			if ( find.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY ) {
				continue ;
#ifdef	_WIN32_WCE
			} else if ( find.dwFileAttributes & FILE_ATTRIBUTE_INROM ) {
				continue ;
			} else if ( find.dwFileAttributes & FILE_ATTRIBUTE_ROMSTATICREF ) {
				continue ;
			} else if ( find.dwFileAttributes & FILE_ATTRIBUTE_ROMMODULE ) {
				continue ;
#endif	/* _WIN32_WCE */
			}
			/* 僶僀僫儕僼傽僀儖偼彍奜 */
			ptr = _tcsrchr( find.cFileName, TEXT('.') ) ;
			if ( ptr ) {
				if ( !_tcsicmp( ptr, TEXT(".BMP") ) ) {
					continue ;
				} else if ( !_tcsicmp( ptr, TEXT(".2BP") ) ) {

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲一区中文日韩| 91视频在线看| 久久综合九色欧美综合狠狠 | 久久精品噜噜噜成人av农村| 日韩亚洲欧美一区二区三区| 久久国产精品免费| 国产日韩欧美在线一区| 99久久国产综合精品女不卡| 亚洲精品久久嫩草网站秘色| 91精品国产一区二区三区蜜臀 | 日本亚洲三级在线| 精品免费国产二区三区| 成人免费视频免费观看| 亚洲婷婷在线视频| 欧美高清激情brazzers| 久久 天天综合| 亚洲欧美色一区| 欧美一区二区黄| 国产jizzjizz一区二区| 一区二区三区在线不卡| 欧美一区二区国产| 成人教育av在线| 亚洲地区一二三色| 久久九九影视网| 欧美午夜影院一区| 国产精品影音先锋| 亚洲午夜私人影院| 久久久精品黄色| 欧美猛男超大videosgay| 国产一区二区三区高清播放| 亚洲综合图片区| 国产亚洲欧美激情| 欧美久久久一区| 99免费精品视频| 美国av一区二区| 一区二区三区蜜桃网| 亚洲精品少妇30p| 精品第一国产综合精品aⅴ| 色综合天天天天做夜夜夜夜做| 奇米在线7777在线精品| 亚洲欧洲制服丝袜| 欧美精品一区二区三区视频| 欧美午夜片在线观看| 国产老肥熟一区二区三区| 日韩精品一二三四| 亚洲激情综合网| 欧美国产欧美综合| 欧美岛国在线观看| 欧美日韩精品福利| 不卡一区在线观看| 国产精品一区二区x88av| 日韩国产欧美视频| 亚洲精品videosex极品| 国产精品第一页第二页第三页| 日韩欧美一级二级三级久久久| 欧洲色大大久久| 99国产精品99久久久久久| 国产精品系列在线播放| 美腿丝袜一区二区三区| 丝袜亚洲另类丝袜在线| 亚洲一区二区三区四区在线| 亚洲国产岛国毛片在线| 久久久不卡网国产精品二区| 日韩三级视频在线观看| 4438成人网| 91精品国产免费| 7777精品伊人久久久大香线蕉 | 日本视频免费一区| 亚洲成人av一区二区三区| 亚洲精品日韩一| 一区二区三区中文在线| 亚洲欧美日韩一区| 日韩久久一区二区| 亚洲精品免费在线观看| 亚洲三级在线免费观看| 亚洲另类春色国产| 亚洲国产一区二区a毛片| 亚洲综合免费观看高清完整版在线 | 日韩精品中文字幕在线不卡尤物| 欧美日韩国产综合草草| 欧美日韩精品免费观看视频| 欧美老肥妇做.爰bbww视频| 欧美精品18+| 日韩精品一区国产麻豆| 26uuu亚洲综合色| 久久精品人人做人人爽人人| 欧美激情在线看| 中文字幕在线一区| 亚洲精品视频在线观看网站| 亚洲精品视频在线观看免费| 亚洲午夜视频在线| 首页综合国产亚洲丝袜| 精东粉嫩av免费一区二区三区| 精品一区二区三区免费播放| 国产精品亚洲专一区二区三区| 国产成a人亚洲| 91成人免费在线视频| 69p69国产精品| 国产亚洲一区二区三区四区| 欧美韩日一区二区三区四区| 亚洲欧美一区二区不卡| 天堂蜜桃91精品| 国产精品一级片| 91黄色免费观看| 日韩一区二区在线播放| 中文成人av在线| 五月天激情小说综合| 国产麻豆精品视频| 在线精品视频一区二区| 日韩小视频在线观看专区| 欧美国产日韩一二三区| 亚洲福中文字幕伊人影院| 国产自产高清不卡| 色综合天天天天做夜夜夜夜做| 欧美一级生活片| 国产精品久久久99| 日韩av网站在线观看| 成人精品亚洲人成在线| 91精品久久久久久蜜臀| 国产精品久久久久久久久果冻传媒 | 91精品国产福利在线观看| 国产欧美一区视频| 日韩一区欧美二区| 成人性生交大片免费看视频在线| 欧美午夜一区二区三区免费大片| 久久午夜羞羞影院免费观看| 一区二区三区鲁丝不卡| 国产又粗又猛又爽又黄91精品| 欧美专区在线观看一区| 国产嫩草影院久久久久| 日韩电影一区二区三区| 91老司机福利 在线| 精品久久久久久综合日本欧美| 亚洲亚洲精品在线观看| 成人午夜私人影院| 精品国产成人系列| 首页欧美精品中文字幕| 91女人视频在线观看| 久久亚洲免费视频| 日韩国产精品久久| 色狠狠色狠狠综合| 中文子幕无线码一区tr| 日本成人在线网站| 欧洲一区在线观看| 亚洲欧美日韩综合aⅴ视频| 国产成人综合精品三级| 欧美一区二区三区系列电影| 一区二区三区波多野结衣在线观看 | 亚洲成人高清在线| 色先锋资源久久综合| 国产精品乱码一区二区三区软件 | 一区免费观看视频| 高清shemale亚洲人妖| 26uuu成人网一区二区三区| 日日夜夜精品视频免费| 欧美性淫爽ww久久久久无| 亚洲精品水蜜桃| 欧日韩精品视频| 亚洲一区二区三区精品在线| 色欧美乱欧美15图片| 成人欧美一区二区三区白人| 成人av综合一区| 国产精品色哟哟| eeuss鲁一区二区三区| 欧美国产精品专区| 99国产精品久久久久久久久久| 欧美国产丝袜视频| 99精品欧美一区二区三区小说 | 久久麻豆一区二区| 国产在线精品免费av| 久久免费午夜影院| 国产99久久精品| 国产精品国产三级国产有无不卡 | 日韩一区二区电影| 久久97超碰国产精品超碰| 精品国产一区二区三区不卡| 久久99国产精品成人| 欧美极品xxx| 91网站黄www| 香蕉影视欧美成人| 欧美tickling挠脚心丨vk| 国产精品77777| 亚洲日本va午夜在线电影| 精品视频在线免费观看| 五月天中文字幕一区二区| 日韩视频免费观看高清完整版在线观看 | 亚洲一二三区视频在线观看| 91 com成人网| 91麻豆精品国产自产在线| 日韩黄色小视频| 久久亚洲一区二区三区四区| 不卡的av电影| 午夜精品一区在线观看| 欧美精品一区二区三区高清aⅴ | 5月丁香婷婷综合| 国产一区二区不卡| 亚洲免费资源在线播放| 91精品国产综合久久久蜜臀粉嫩| 国产在线不卡一区| 亚洲最新在线观看|