本文整理汇总了C++中IFileOpenDialog::Advise方法的典型用法代码示例。如果您正苦于以下问题:C++ IFileOpenDialog::Advise方法的具体用法?C++ IFileOpenDialog::Advise怎么用?C++ IFileOpenDialog::Advise使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IFileOpenDialog
的用法示例。
在下文中一共展示了IFileOpenDialog::Advise方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: OpenFilesVistaUp
BOOL OpenFilesVistaUp(HWND hwnd, lFILEINFO *pFInfoList)
{
IFileOpenDialog *pfd;
IFileDialogCustomize *pfdc;
FILEOPENDIALOGOPTIONS dwOptions;
DWORD dwCookie = 0;
CoInitialize(NULL);
// CoCreate the dialog object.
HRESULT hr = CoCreateInstance(CLSID_FileOpenDialog,
NULL,
CLSCTX_INPROC_SERVER,
IID_PPV_ARGS(&pfd));
if (SUCCEEDED(hr)) {
hr = pfd->QueryInterface(IID_PPV_ARGS(&pfdc));
if(SUCCEEDED(hr)) {
hr = pfdc->EnableOpenDropDown(FDIALOG_OPENCHOICES);
if (SUCCEEDED(hr))
{
hr = pfdc->AddControlItem(FDIALOG_OPENCHOICES, FDIALOG_CHOICE_OPEN, L"&Open");
if (SUCCEEDED(hr))
{
hr = pfdc->AddControlItem(FDIALOG_OPENCHOICES,
FDIALOG_CHOICE_REPARENT,
L"&Reparent hash file");
hr = pfdc->AddControlItem(FDIALOG_OPENCHOICES,
FDIALOG_CHOICE_ALLHASHES,
L"&Open all hash files");
hr = pfdc->AddControlItem(FDIALOG_OPENCHOICES,
FDIALOG_CHOICE_BSD,
L"&Force open as BSD-style");
}
}
}
pfdc->Release();
hr = pfd->GetOptions(&dwOptions);
if (SUCCEEDED(hr)) {
hr = pfd->SetOptions(dwOptions | FOS_ALLOWMULTISELECT | FOS_FORCEFILESYSTEM);
if (SUCCEEDED(hr)) {
COpenFileListener *ofl = new COpenFileListener(pFInfoList);
hr = pfd->Advise(ofl,&dwCookie);
if (SUCCEEDED(hr)) {
hr = pfd->Show(hwnd);
if (SUCCEEDED(hr)) {
}
pfd->Unadvise(dwCookie);
}
}
}
pfd->Release();
}
CoUninitialize();
return SUCCEEDED(hr);
}