本文整理汇总了C++中IShellView::Refresh方法的典型用法代码示例。如果您正苦于以下问题:C++ IShellView::Refresh方法的具体用法?C++ IShellView::Refresh怎么用?C++ IShellView::Refresh使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IShellView
的用法示例。
在下文中一共展示了IShellView::Refresh方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: PyCom_BuildPyException
// @pymethod |PyIShellView|Refresh|Description of Refresh.
PyObject *PyIShellView::Refresh(PyObject *self, PyObject *args)
{
IShellView *pISV = GetI(self);
if ( pISV == NULL )
return NULL;
if ( !PyArg_ParseTuple(args, ":Refresh") )
return NULL;
HRESULT hr;
PY_INTERFACE_PRECALL;
hr = pISV->Refresh( );
PY_INTERFACE_POSTCALL;
if ( FAILED(hr) )
return PyCom_BuildPyException(hr, pISV, IID_IShellView );
Py_INCREF(Py_None);
return Py_None;
}
示例2: InvokeCommand
HRESULT WINAPI CRecycleBin::InvokeCommand(LPCMINVOKECOMMANDINFO lpcmi)
{
HRESULT hr;
LPSHELLBROWSER lpSB;
IShellView * lpSV = NULL;
TRACE("%p %p verb %p\n", this, lpcmi, lpcmi->lpVerb);
if (LOWORD(lpcmi->lpVerb) == iIdEmpty)
{
// FIXME
// path & flags
hr = SHEmptyRecycleBinW(lpcmi->hwnd, L"C:\\", 0);
TRACE("result %x\n", hr);
if (hr != S_OK)
return hr;
lpSB = (LPSHELLBROWSER)SendMessageA(lpcmi->hwnd, CWM_GETISHELLBROWSER, 0, 0);
if (lpSB && SUCCEEDED(lpSB->QueryActiveShellView(&lpSV)))
lpSV->Refresh();
}
return S_OK;
}
示例3: FilterFiles
//.........这里部分代码省略.........
hr = ishell->GetAttributesOf(1, &fidl, &attr);
if (!SUCCEEDED(hr))
{
wxASSERT(SUCCEEDED(hr));
break;
}
// Allow all folders (things like zip files get filtered below)
if ((attr & (SFGAO_FOLDER)) && !(attr & SFGAO_BROWSABLE))
{
continue;
}
// Retrieve the parsable name of the object (includes extension)
STRRET str;
hr = ishell->GetDisplayNameOf(fidl, SHGDN_INFOLDER | SHGDN_FORPARSING, &str);
if (hr != NOERROR)
{
// For some objects, we get back an error of 80070057. I'm assuming this
// means there is no way to represent the name (like some sort of virtual name)
// or I've not used the correct PIDL. But, in either case, it "probably"
// represents some sort of folder (at least in all cases I've seen), so we
// simply allow it to display.
continue;
}
// Convert result to wxString
wxString filename;
switch (str.uType)
{
case STRRET_WSTR:
filename = str.pOleStr;
imalloc->Free(str.pOleStr);
break;
case STRRET_OFFSET:
filename = wxString(((char *)fidl) + str.uOffset, wxConvISO8859_1);
break;
case STRRET_CSTR:
filename = wxString(str.cStr, wxConvISO8859_1);
break;
}
// Convert the filename to lowercase (and remember to write filters in lowercase!)
filename = filename.Lower();
// Attempt to match it to all of our filters
bool match = false;
for (int flt = 0; flt < fltcnt; flt++)
{
if (wxMatchWild(m_Filters[flt], filename, false))
{
match = true;
break;
}
}
// Remove it from the display if it didn't match any of the filters.
if (!match)
{
ListView_DeleteItem(lv, itm);
itm--;
itmcnt--;
}
}
// On Vista and maybe XP, we seem to need to refresh the view after
// changing the filters. But, only refresh for type changes and not
// selection changes since it causes additional selection change
// events to occur.
if (ishellview && refresh)
{
ishellview->Refresh();
}
// Release the interface
if (ifolderview)
{
ifolderview->Release();
}
// Release the interface
if (ishellview)
{
ishellview->Release();
}
// Release the interface
if (ishell)
{
ishell->Release();
}
// Release the interface
if (imalloc)
{
imalloc->Release();
}
}