78 lines
1.7 KiB
C++
78 lines
1.7 KiB
C++
//+-------------------------------------------------------------------------
|
|
//
|
|
// Microsoft Windows
|
|
//
|
|
// Copyright (C) Microsoft Corporation, 2000
|
|
//
|
|
// File: cpuiele.h
|
|
//
|
|
//--------------------------------------------------------------------------
|
|
#ifndef __CONTROLPANEL_UIELEMENT_H
|
|
#define __CONTROLPANEL_UIELEMENT_H
|
|
|
|
|
|
#include <cowsite.h>
|
|
#include "cpaction.h"
|
|
|
|
|
|
namespace CPL {
|
|
|
|
//
|
|
// Extension of IUICommand to include the activation of a context menu and
|
|
// passing of an IShellBrowser ptr for command invocation.
|
|
//
|
|
class ICpUiCommand : public IUnknown
|
|
{
|
|
public:
|
|
STDMETHOD(InvokeContextMenu)(HWND hwndParent, const POINT *ppt) PURE;
|
|
STDMETHOD(Invoke)(HWND hwndParent, IUnknown *punkSite) PURE;
|
|
STDMETHOD(GetDataObject)(IDataObject **ppdtobj) PURE;
|
|
};
|
|
|
|
|
|
//
|
|
// Internal interface for obtaining element information.
|
|
// Very similar to IUIElementInfo but returns the actual display
|
|
// information rather than a resource identifier string. Used internally
|
|
// only by the Control Panel code.
|
|
//
|
|
class ICpUiElementInfo : public IUnknown
|
|
{
|
|
public:
|
|
STDMETHOD(LoadIcon)(eCPIMGSIZE eSize, HICON *phIcon) PURE;
|
|
STDMETHOD(LoadName)(LPWSTR *ppszName) PURE;
|
|
STDMETHOD(LoadTooltip)(LPWSTR *ppszTooltip) PURE;
|
|
};
|
|
|
|
|
|
|
|
HRESULT
|
|
Create_CplUiElement(
|
|
LPCWSTR pszName,
|
|
LPCWSTR pszInfotip,
|
|
LPCWSTR pszIcon,
|
|
REFIID riid,
|
|
void **ppvOut);
|
|
|
|
|
|
HRESULT
|
|
Create_CplUiCommand(
|
|
LPCWSTR pszName,
|
|
LPCWSTR pszInfotip,
|
|
LPCWSTR pszIcon,
|
|
const IAction *pAction,
|
|
REFIID riid,
|
|
void **ppvOut);
|
|
|
|
|
|
HRESULT
|
|
Create_CplUiCommandOnPidl(
|
|
LPCITEMIDLIST pidl,
|
|
REFIID riid,
|
|
void **ppvOut);
|
|
|
|
|
|
} // namespace CPL
|
|
|
|
#endif //__CONTROLPANEL_UIELEMENT_H
|