您的位置:首页 > 其它

路径选择框&文件选择框使用

2010-03-15 09:39 274 查看
路径选择对话框:
LPITEMIDLIST    pidl;
BROWSEINFO      bi;
ZeroMemory(&bi, sizeof(bi));
bi.hwndOwner = hwndDlg;
bi.pszDisplayName = szDisplayName;
bi.lpszTitle = TEXT("Select folder");
bi.ulFlags = BIF_RETURNONLYFSDIRS | BIF_VALIDATE;
bi.lpfn = BrowseCallbackProc;
bi.pidlRoot = 0;
   
//set default path for source file
TCHAR szPathName[MAX_PATH] = {0};
GetModuleFileName(NULL, szPathName, MAX_PATH);
LPTSTR lpEnd = MStrEnd(szPathName);
while(*lpEnd != _T('//'))
{
*lpEnd = 0;
--lpEnd;
}
bi.lParam = (LPARAM)szPathName;

pidl = SHBrowseForFolder(&bi);
if(pidl)
{
SHGetPathFromIDList(pidl, szDisplayName);
Edit_SetText( ::GetDlgItem(hwndDlg, IDC_EDITSRCPATH), szDisplayName );
}

 

 

文件选择对话框:
//OPENFILENAME ofn ;
    //Initialize the OPENFILENAME property
ofn.lStructSize       = sizeof (OPENFILENAME) ;
ofn.hwndOwner         = hwndDlg ;
ofn.hInstance         = NULL ;
ofn.lpstrFilter       = _T("Dat Files (*.DAT)/0*.dat/0");
ofn.lpstrCustomFilter = NULL ;
ofn.nMaxCustFilter    = 0 ;
ofn.nFilterIndex      = 0 ;
ofn.lpstrFile         = szSelPath ;
ofn.nMaxFile          = MAX_PATH ;
ofn.lpstrFileTitle    = szTitleName ;
ofn.nMaxFileTitle     = MAX_PATH ;
ofn.lpstrInitialDir   = NULL ;
ofn.lpstrTitle        = NULL ;
ofn.Flags             = 0 ;
ofn.nFileOffset       = 0 ;
ofn.nFileExtension    = 0 ;
ofn.lpstrDefExt       = TEXT ("dat") ;
ofn.lCustData         = 0 ;
ofn.lpfnHook          = NULL ;
ofn.lpTemplateName    = NULL ;

if (!GetOpenFileName (&ofn))
{
return ;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  null path bi