|
|
#ifndef SHVIEW_H
#define SHVIEW_H
#define NS_CLASS_NAME (TEXT("PStoreNSClass"))
//
// menu items
//
#define IDM_MESSAGE1 (FCIDM_SHVIEWFIRST + 0x500)
#define IDM_MESSAGE2 (FCIDM_SHVIEWFIRST + 0x501)
#define IDM_VIEW_ISTB (FCIDM_SHVIEWFIRST + 0x502)
#define IDM_VIEW_IETB (FCIDM_SHVIEWFIRST + 0x503)
//
// control IDs
//
#define ID_LISTVIEW 2000
class CShellView : public IShellView, public IOleCommandTarget { protected: LONG m_ObjRefCount;
public: CShellView(CShellFolder*, LPCITEMIDLIST); ~CShellView();
//
// IUnknown methods
//
STDMETHOD (QueryInterface)(REFIID, LPVOID FAR *); STDMETHOD_ (DWORD, AddRef)(); STDMETHOD_ (DWORD, Release)();
//
// IOleWindow methods
//
STDMETHOD (GetWindow) (HWND*); STDMETHOD (ContextSensitiveHelp) (BOOL);
//
// IShellView methods
//
STDMETHOD (TranslateAccelerator) (LPMSG); STDMETHOD (EnableModeless) (BOOL); STDMETHOD (UIActivate) (UINT); STDMETHOD (Refresh) (void); STDMETHOD (CreateViewWindow) (LPSHELLVIEW, LPCFOLDERSETTINGS, LPSHELLBROWSER, LPRECT, HWND*); STDMETHOD (DestroyViewWindow) (void); STDMETHOD (GetCurrentInfo) (LPFOLDERSETTINGS); STDMETHOD (AddPropertySheetPages) (DWORD, LPFNADDPROPSHEETPAGE, LPARAM); STDMETHOD (SaveViewState) (void); STDMETHOD (SelectItem) (LPCITEMIDLIST, UINT); STDMETHOD (GetItemObject) (UINT, REFIID, LPVOID*);
//
// IOleCommandTarget methods
//
STDMETHOD (QueryStatus) (const GUID *pguidCmdGroup, ULONG cCmds, OLECMD prgCmds[], OLECMDTEXT *pCmdText); STDMETHOD (Exec) (const GUID *pguidCmdGroup, DWORD nCmdID, DWORD nCmdExecOpt, VARIANTARG *pvaIn, VARIANTARG *pvaOut);
private: //
// private member variables
//
UINT m_uState; BOOL m_bShowIETB; BOOL m_bShowISTB; LPITEMIDLIST m_pidl; OLEMENUGROUPWIDTHS m_MenuWidths; FOLDERSETTINGS m_FolderSettings; LPSHELLBROWSER m_pShellBrowser; HWND m_hwndParent; HWND m_hWnd; HWND m_hwndList; HMENU m_hMenu; int m_nColumn1; int m_nColumn2; CShellFolder *m_pSFParent;
//
// private member functions
//
static LRESULT CALLBACK WndProc(HWND hWnd, UINT uMessage, WPARAM wParam, LPARAM lParam); void UpdateToolbar(); LRESULT UpdateMenu(HMENU hMenu); HRESULT GetSettings(void); HRESULT SaveSettings(void); HMENU BuildMenu(void); LRESULT OnCommand(DWORD, DWORD, HWND); LRESULT OnActivate(WPARAM wParam, LPARAM lParam); LRESULT OnSetFocus(void); LRESULT OnNotify(UINT, LPNMHDR); LRESULT OnSize(WORD, WORD); LRESULT OnCreate(void); BOOL CreateList(void); BOOL InitList(void); BOOL FillList(void); };
#endif // SHVIEW_H
|