gsgetfile.cpp

来自「GPlayer for Pocket PC,移动设备上的播放器」· C++ 代码 · 共 51 行

CPP
51
字号
#include "gsgetfile.h"
#include "filedlg.h"

HINSTANCE g_hInst = NULL;

BOOL CheckPointer(LPOPENFILENAME pofn)
{
	if (pofn->lStructSize != sizeof(OPENFILENAME))
		return FALSE;

	if (pofn->lpstrFile == NULL ||
		pofn->nMaxFile == 0)
		return FALSE;

	for (UINT i = 0; i < pofn->nMaxFile; i++) {
		if (pofn->lpstrFile[i] == NULL)
			return TRUE;
	}
	return FALSE;
}

BOOL WINAPI gsGetOpenFileName(LPOPENFILENAME pofn)
{
	if (!CheckPointer(pofn))
		return FALSE;

	pofn->hInstance = g_hInst;
	CFileDialog* pDlg = new CFileDialog(pofn);
	BOOL fRet = pDlg->DoModal() == IDOK;
	delete pDlg;
	return fRet;
}

BOOL WINAPI gsGetSaveFileName(LPOPENFILENAME pofn)
{
	if (!CheckPointer(pofn))
		return FALSE;

	pofn->hInstance = g_hInst;
	CFileDialog* pDlg = new CFileDialog(pofn);
	BOOL fRet = pDlg->DoModal(TRUE) == IDOK;
	delete pDlg;
	return fRet;
}

BOOL APIENTRY DllMain(HANDLE hinstDLL, DWORD dwReason, LPVOID lpvReserved)
{
	g_hInst = (HINSTANCE)hinstDLL;
	return TRUE;
}

⌨️ 快捷键说明

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