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

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

?? zfiledialog.cpp

?? Base64算法
?? CPP
字號:
/*++++++++++++++++++++++++ Copyright (c) 2006 ++++++++++++++++++++++++

程序作者:

    張魯奪(zhangluduo) : 為所有愛我的人和我愛的人努力!

聯(lián)系方式:

    zhangluduo@msn.com
	[oopfans]群:34064264

修改時(shí)間:

    2007-03-03

功能描述:

    利用Win32API調(diào)用系統(tǒng)公用對話框(文件打開,保存,目錄選擇..)

版權(quán)聲明:

    許可任何單位,個(gè)人隨意使用,拷貝,修改,散布及出售這份代碼,但是必須保
    留此版權(quán)信息,以慰藉作者辛勤的勞動(dòng),及表明此代碼的來源,如若此份代碼
    有任何BUG,請通知作者,以便彌補(bǔ)作者由于水平所限而導(dǎo)致的一些錯(cuò)誤和不
    足,謝謝!

++++++++++++++++++++++++ Copyright (c) 2006 ++++++++++++++++++++++++*/

#include "stdafx.h"
#include "ZFileDialog.h"

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

ZFileDialog::ZFileDialog()
{

}

ZFileDialog::~ZFileDialog()
{

}

/***********************
使Open或Save對話框居中
***********************/
UINT_PTR ZFileDialog::OFNHookProc(HWND hdlg,UINT uiMsg,WPARAM wParam,LPARAM lParam)
{
	if(uiMsg==WM_SHOWWINDOW)
	{
		RECT rtWnd,sysRect;
		::GetWindowRect(GetParent(hdlg),&rtWnd);
		SystemParametersInfo(SPI_GETWORKAREA,0,&sysRect,0);

		::MoveWindow(GetParent(hdlg),
					(sysRect.right-(rtWnd.right-rtWnd.left))/2,
					(sysRect.bottom-(rtWnd.bottom-rtWnd.top))/2,
					rtWnd.right-rtWnd.left,
					rtWnd.bottom-rtWnd.top,
					true);
	}
	return 0;
}

//////////////////////////////////////////////////////////////////////
// options
//////////////////////////////////////////////////////////////////////

string ZFileDialog::GetSelectDirectory(HWND hwnd,const char* szTitle)
{
	string ReturnValue;
	char Path[256]={0};
	BROWSEINFO browseinfo;   
	LPCITEMIDLIST lpcitemidlist;
	browseinfo.hwndOwner=0;   
	browseinfo.pszDisplayName=Path;   
	browseinfo.pidlRoot=NULL;   
	browseinfo.ulFlags=BIF_DONTGOBELOWDOMAIN | BIF_RETURNONLYFSDIRS;   
	browseinfo.lpfn=NULL;   
	browseinfo.lpszTitle=szTitle;   
	browseinfo.iImage=0;   
	browseinfo.hwndOwner = hwnd;

	lpcitemidlist=SHBrowseForFolder(&browseinfo);

	if(lpcitemidlist)
	{
		if(SHGetPathFromIDList(lpcitemidlist,Path))
			ReturnValue=Path;
	}
	return ReturnValue;
}

deque<string> ZFileDialog::GetOpenFileName(HWND hwnd,bool MultiSelect,const char* szFilter)
{
	deque<string> dqFileNames;

	char file[256]={0};
	OPENFILENAMEEX openfilename; 
	ZeroMemory(&openfilename, sizeof(OPENFILENAMEEX));

	if( m_sysinfo.GetOSVersion()==1 || 
		m_sysinfo.GetOSVersion()==2 || 
		m_sysinfo.GetOSVersion()==3 || 
		m_sysinfo.GetOSVersion()==4)
		openfilename.lStructSize = sizeof(OPENFILENAME);
	else
		openfilename.lStructSize = sizeof(OPENFILENAMEEX);

	openfilename.hInstance = 0;
	openfilename.lpstrFilter=szFilter;
	openfilename.lpstrFile=file;
	openfilename.nMaxFile=256;
	openfilename.Flags=OFN_EXPLORER | OFN_HIDEREADONLY | OFN_ENABLEHOOK;
	openfilename.Flags|=MultiSelect ? OFN_ALLOWMULTISELECT:0;
	openfilename.hwndOwner=hwnd;
	openfilename.lpfnHook=(LPOFNHOOKPROC)
	m_thunk.Callback(this,&ZFileDialog::OFNHookProc,ZThunk::THISCALL);

	if(::GetOpenFileName(&openfilename))
	{
		char* ptr=openfilename.lpstrFile;
		int Count=0;
		bool IsMulti=false;
		while(*ptr++)
		{
			if(++Count>=2)
			{
				IsMulti=true;
				break;
			}
			while(*ptr++);
		}
		if(IsMulti)
		{
			ptr=openfilename.lpstrFile;
			int nFiles=0;
			string strTmp="";
			while(*ptr++)
			{
				nFiles++;
				if(nFiles==1)
				{
					strTmp=ptr-1;
					if(strTmp[strTmp.size()-1]!='\\')
					{
						strTmp+="\\";
					}
				}
				else if(nFiles>=2)
				{
					if((_access((strTmp+(ptr-1)).c_str(),0))==-1)
						::MessageBox(NULL,(strTmp+(ptr-1)).c_str(),"文件未找到",MB_OK);
					else
						dqFileNames.push_back(strTmp+(ptr-1));
				}
				while(*ptr++);
			}
		}
		else
		{
			if((_access(openfilename.lpstrFile,0))==-1)
				::MessageBox(NULL,openfilename.lpstrFile,"文件未找到",MB_OK);
			else
				dqFileNames.push_back(openfilename.lpstrFile);
		}
	}
	return dqFileNames;
}

string ZFileDialog::GetSaveFileName(HWND hwnd,bool AutoAddSuffixName,const char* szFilter)
{
	string strFileName="";

	char file[256]={0};
	OPENFILENAMEEX openfilename; 
	ZeroMemory(&openfilename, sizeof(OPENFILENAMEEX));

	if( m_sysinfo.GetOSVersion()==1 || 
		m_sysinfo.GetOSVersion()==2 || 
		m_sysinfo.GetOSVersion()==3 || 
		m_sysinfo.GetOSVersion()==4)
		openfilename.lStructSize = sizeof(OPENFILENAME);
	else
		openfilename.lStructSize = sizeof(OPENFILENAMEEX);
	
	openfilename.hInstance =0;
	openfilename.lpstrFile=file;
	openfilename.nMaxFile=256;
	openfilename.lpstrFilter=szFilter;
	openfilename.Flags=OFN_EXPLORER | OFN_ENABLEHOOK;
	openfilename.hwndOwner=hwnd;
	openfilename.lpfnHook=(LPOFNHOOKPROC)
	m_thunk.Callback(this,&ZFileDialog::OFNHookProc,ZThunk::THISCALL);

	if(!::GetSaveFileName(&openfilename)) return strFileName;

	strFileName=file;
	if(!AutoAddSuffixName) return strFileName;

	//判斷用戶填寫的文件名是否有后綴
	bool IsHaveSuffix=strFileName.find_last_of(".")==-1?false:true;

	//將const char* Filter拆成數(shù)組存放
	deque<string> FilterArray;
	while(*szFilter++)
	{
		FilterArray.push_back(szFilter-1);
		while(*szFilter++);
	}

	//如果過濾類型為"*.*",則不進(jìn)行處理,直接返回
	string strFilter=FilterArray[openfilename.nFilterIndex];
	strFilter.erase(remove_if(strFilter.begin(),strFilter.end(),ptr_fun(::isspace)),strFilter.end());
	if(strFilter=="*.*")  return strFileName;

	string strSuffixName=strFilter.substr(2).c_str();
	if(IsHaveSuffix)
	{
		//如果用戶輸入的后綴和過濾器中的后綴一樣
		if(strFileName.substr(strFileName.find_last_of(".")+1)==strSuffixName)
		{
			return strFileName;
		}
		else
		{
			strFileName+=".";
			strFileName+=strSuffixName;
			return strFileName;
		}
	}
	else
	{
		strFileName+=".";
		strFileName+=strSuffixName;
		return strFileName;
	}
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品一级在线| 91久久精品午夜一区二区| 亚洲欧美日本在线| 精品国产91乱码一区二区三区| 不卡在线视频中文字幕| 秋霞成人午夜伦在线观看| 亚洲人精品一区| 国产欧美日韩综合| 日韩欧美成人午夜| 欧美久久久一区| 91丨九色porny丨蝌蚪| 国产综合久久久久久久久久久久| 午夜精品久久久久久不卡8050| 亚洲欧洲无码一区二区三区| 国产亚洲成aⅴ人片在线观看| 正在播放亚洲一区| 在线一区二区三区四区| 成人国产在线观看| 国产福利一区二区三区视频| 精品一区二区三区av| 青青草原综合久久大伊人精品优势 | 欧美成人精品福利| 7777精品伊人久久久大香线蕉的| 色综合久久久久综合| 国产成人免费高清| 国产精品1区2区| 国内精品免费**视频| 久久爱www久久做| 美女国产一区二区| 免费一级欧美片在线观看| 婷婷一区二区三区| 日韩在线一二三区| 日日摸夜夜添夜夜添国产精品| 亚洲国产aⅴ天堂久久| 亚洲一二三四区不卡| 亚洲自拍另类综合| 亚洲国产欧美日韩另类综合| 一区二区三区电影在线播| 亚洲美女屁股眼交3| 亚洲免费av网站| 亚洲国产视频网站| 午夜精品福利久久久| 日韩电影在线观看一区| 水蜜桃久久夜色精品一区的特点| 一区二区三区日韩| 午夜精品福利一区二区蜜股av | 夜夜嗨av一区二区三区| 亚洲资源中文字幕| 日韩成人伦理电影在线观看| 人人狠狠综合久久亚洲| 国产专区欧美精品| 国产成人亚洲综合a∨猫咪| 国产成人精品综合在线观看| 成人av电影免费观看| 99国产精品久久久久久久久久 | 久久久午夜电影| 日本一区二区免费在线观看视频| 国产精品美女一区二区| 亚洲欧美日韩国产综合在线| 五月婷婷综合激情| 黄网站免费久久| 99免费精品在线| 欧美精品 国产精品| 欧美videos大乳护士334| 久久久国产一区二区三区四区小说| 国产精品成人一区二区三区夜夜夜| 亚洲日韩欧美一区二区在线| 丝袜美腿高跟呻吟高潮一区| 国产精品自拍一区| 在线视频亚洲一区| 欧美mv和日韩mv国产网站| 国产婷婷精品av在线| 亚洲综合在线第一页| 精品一区二区三区视频 | 日韩欧美一二区| 中文字幕一区二区在线观看| 五月天欧美精品| 成人午夜电影网站| 91精品免费在线| 国产精品免费视频观看| 日日夜夜精品视频免费| 成人免费av资源| 欧美久久高跟鞋激| 欧美韩国日本不卡| 午夜精品福利一区二区蜜股av | 婷婷综合久久一区二区三区| 国产精品亚洲一区二区三区妖精| 欧美自拍丝袜亚洲| 精品少妇一区二区三区日产乱码 | 欧美福利一区二区| 中文字幕日韩一区| 久久精品噜噜噜成人av农村| 成人黄色网址在线观看| 亚洲激情图片一区| 国产真实乱对白精彩久久| 欧美吻胸吃奶大尺度电影| 国产日韩欧美制服另类| 视频一区二区不卡| 91丨九色丨蝌蚪富婆spa| 久久精品一区八戒影视| 天天影视网天天综合色在线播放| aaa欧美色吧激情视频| 欧美一区二区三区人| 亚洲乱码日产精品bd| 风间由美一区二区三区在线观看| 欧美肥胖老妇做爰| 亚洲精品国产无套在线观| 国产成人午夜精品5599| 欧美一区二区久久久| 亚洲韩国精品一区| av成人免费在线观看| 国产欧美一区二区三区在线老狼 | 国产精品亚洲视频| 日韩精品一区二| 日韩av二区在线播放| 欧美猛男男办公室激情| 亚洲男同性视频| 91丨porny丨蝌蚪视频| 国产欧美一区二区三区鸳鸯浴| 久久国产精品72免费观看| 在线成人午夜影院| 日韩在线观看一区二区| 欧美日韩一级视频| 亚洲国产成人av好男人在线观看| 在线视频一区二区三区| 亚洲最快最全在线视频| 色呦呦网站一区| 亚洲欧美日韩人成在线播放| 91污片在线观看| 中文字幕一区二区三区不卡| 不卡视频一二三| 亚洲色图欧洲色图| 日本精品一区二区三区高清| 亚洲男人的天堂在线aⅴ视频| 白白色 亚洲乱淫| 亚洲人成在线观看一区二区| 色猫猫国产区一区二在线视频| 亚洲欧美视频在线观看| 欧洲日韩一区二区三区| 91麻豆文化传媒在线观看| 成人欧美一区二区三区在线播放| 91在线精品一区二区三区| 亚洲天堂福利av| 91电影在线观看| 无吗不卡中文字幕| 日韩亚洲欧美成人一区| 久久精品国产成人一区二区三区 | 色综合激情五月| 亚洲午夜av在线| 欧美一二三四区在线| 国产在线不卡一区| 国产精品网站在线观看| 色网站国产精品| 婷婷六月综合亚洲| 精品国产欧美一区二区| 粉嫩aⅴ一区二区三区四区 | 日韩午夜中文字幕| 国产综合色视频| 日韩美女精品在线| 欧美久久久久久久久久| 国产精品综合在线视频| 亚洲欧美在线另类| 欧美日韩中文字幕一区| 免费日韩伦理电影| 国产欧美精品一区二区色综合| 色综合久久综合网欧美综合网| 性欧美疯狂xxxxbbbb| 精品国精品自拍自在线| 国产盗摄一区二区| 一区二区三区在线免费播放 | 精品久久久久久久久久久久包黑料| 国产一区二区三区在线观看精品| 亚洲欧美日韩电影| 精品日韩成人av| 99久久精品99国产精品| 日本中文字幕一区二区视频| 亚洲国产成人私人影院tom| 欧美亚洲日本国产| 国产专区欧美精品| 亚洲网友自拍偷拍| 国产欧美日韩在线| 欧美一区二区三区四区高清| 成人精品视频一区二区三区尤物| 亚洲国产一区二区a毛片| 国产午夜精品久久久久久久| 欧美性xxxxx极品少妇| 国产精品亚洲人在线观看| 一级特黄大欧美久久久| 久久久久久久久久久黄色| 欧美日韩免费在线视频| 盗摄精品av一区二区三区| 日本欧美肥老太交大片| 亚洲天堂成人网| 久久久久久久久久看片| 91精品久久久久久久91蜜桃| 91美女精品福利| 成人v精品蜜桃久久一区| 蜜臀av一区二区| 亚洲一级不卡视频| 亚洲三级在线看|