⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 shellview.h

📁 Drive.dll is a dll that creates a drive to system directoryor drive similar to existing drives such
💻 H
字号:
//
// ShellView.h
//

#ifndef _SHELLVIEW_H
#define _SHELLVIEW_H

#define NAMESPACEVIEW_CLASS   TEXT("QDrive EuriQans PVT Limited_NSClass")
#define STD			0
#define VIEW		1
#define INTHIS_DLL	2
typedef struct
{
	int			nType;	// STD, VIEW, INTHIS_DLL
	TBBUTTON	tb;
}NS_TOOLBUTTONINFO, *LPNS_TOOLBUTTONINFO;


class CShellView : public IShellView
{
public:
	CShellView(CShellFolder* pShellFolder, 
		LPCITEMIDLIST pItemIDList);
	~CShellView();

	//IUnknown methods
	STDMETHOD (QueryInterface)(REFIID, LPVOID*);
	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*);
protected:
	DWORD m_dwRefCount;
private: 
	//private member functions
	static LRESULT CALLBACK nameSpaceWndProc(HWND hWnd, UINT uMessage, 
												WPARAM wParam, LPARAM lParam);
	static int CALLBACK compareItems(LPARAM lParam1, LPARAM lParam2, 
										LPARAM lpData);
private:
	LPMALLOC		m_pMalloc;
	FOLDERSETTINGS	m_fsFolderSettings;
	HWND			m_hWnd;
	HWND			m_hWndParent;
	LPSHELLBROWSER	m_pShellBrowser;
	LPITEMIDLIST	m_pidl;
	LPPIDLMGR		m_pPidlMgr;
	CShellFolder	*m_pSF;
	RECT			m_rect;
private:
	// Windows Message Handlers
	LRESULT onPaint(HDC hDC);
	LRESULT onEraseBkGnd(HDC hDC);
	LRESULT onCreate(void);
	LRESULT onSize(WORD, WORD);
	LRESULT onNotify(UINT, LPNMHDR);
	LRESULT onCommand(HWND, DWORD dwNotifyCode, DWORD dwID);
	LRESULT onSetFocus(HWND hWndOld);
	LRESULT onContextMenu(int x, int y, BOOL bDefault);
private:
	LRESULT onActivate(UINT iState);
private:
	HMENU m_hMenu;
private:
	void mergeToolBars();
	void updateToolbar();
	void mergeMenus();
	void mergeFileMenu();
	void mergeEditMenu();
	void mergeViewMenu();
private:
	UINT m_uiState;
private:
	void initListCtrl();
	void refreshListCtrl();
	void onViewStyle(UINT uiStyle);
	void selChange(NMLISTVIEW *pNMLV);
private:
	HWND m_hWndListCtrl;
};

#endif   //_SHELLVIEW_H

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -