亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? authoritymgr.h

?? .net編寫的個人理財系統(tǒng)
?? H
字號:
#ifndef __AUTHORITYMGR_H_
#define __AUTHORITYMGR_H_
#include "resource.h"
//#include <atlsnap.h>
#include "CZMisMMC.h"
#include "basenode.h"

#include "AllUserNode.h"
#include "AllGroupNode.h"
class CAuthorityMgrPage : public CSnapInPropertyPageImpl<CAuthorityMgrPage>
{
public :
	CAuthorityMgrPage(long lNotifyHandle, bool bDeleteHandle = false, TCHAR* pTitle = NULL) : 
		CSnapInPropertyPageImpl<CAuthorityMgrPage> (pTitle),
		m_lNotifyHandle(lNotifyHandle),
		m_bDeleteHandle(bDeleteHandle) // Should be true for only page.
	{
	}

	~CAuthorityMgrPage()
	{
		if (m_bDeleteHandle)
			MMCFreeNotifyHandle(m_lNotifyHandle);
	}

	enum { IDD = IDD_AUTHORITYMGR };

BEGIN_MSG_MAP(CAuthorityMgrPage)
	CHAIN_MSG_MAP(CSnapInPropertyPageImpl<CAuthorityMgrPage>)
END_MSG_MAP()
// Handler prototypes:
// LRESULT MessageHandler(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
// LRESULT CommandHandler(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled);
// LRESULT NotifyHandler(int idCtrl, LPNMHDR pnmh, BOOL& bHandled);

	HRESULT PropertyChangeNotify(long param)
	{
		return MMCPropertyChangeNotify(m_lNotifyHandle, param);
	}

public:
	long m_lNotifyHandle;
	bool m_bDeleteHandle;
};

class CAuthorityMgrData :public CBaseNodeItem<CAuthorityMgrData>
{
public:
	//所有用戶節(jié)點對象指針
	CAllUserNode* m_pAllUserNode;
	//所有組節(jié)點對象指針
	CAllGroupNode* m_pAllGroupNode;
	//構(gòu)造函數(shù)
	CAuthorityMgrData()
	{
        //創(chuàng)建所有用戶對象
		m_pAllUserNode = new CAllUserNode();
		//創(chuàng)建所有組對象
		m_pAllGroupNode = new CAllGroupNode();

		// Image indexes may need to be modified depending on the images specific to 
		// the snapin.
		//初始化該節(jié)點在樹控件及結(jié)構(gòu)視圖中的數(shù)據(jù)
		memset(&m_scopeDataItem, 0, sizeof(SCOPEDATAITEM));
		m_scopeDataItem.mask = SDI_STR | SDI_IMAGE | SDI_OPENIMAGE | SDI_PARAM;
		m_scopeDataItem.displayname = MMC_CALLBACK;
		m_scopeDataItem.nImage = 0; 		// May need modification
		m_scopeDataItem.nOpenImage = 0; 	// May need modification
		m_scopeDataItem.lParam = (LPARAM) this;
		memset(&m_resultDataItem, 0, sizeof(RESULTDATAITEM));
		m_resultDataItem.mask = RDI_STR | RDI_IMAGE | RDI_PARAM;
		m_resultDataItem.str = MMC_CALLBACK;
		m_resultDataItem.nImage = 0;		// May need modification
		m_resultDataItem.lParam = (LPARAM) this;
	}
   //析構(gòu)函數(shù)
	~CAuthorityMgrData()
	{	
       //銷毀在構(gòu)造函數(shù)中創(chuàng)建的對象
		delete m_pAllUserNode;
		delete m_pAllGroupNode;

	}

	STDMETHOD(CreatePropertyPages)(LPPROPERTYSHEETCALLBACK lpProvider,
		long handle, 
		IUnknown* pUnk,
		DATA_OBJECT_TYPES type);

	STDMETHOD(QueryPagesFor)(DATA_OBJECT_TYPES type)
	{
		if (type == CCT_SCOPE || type == CCT_RESULT)
			return S_OK;
		return S_FALSE;
	}
    //當(dāng)用戶點擊該節(jié)點查看該節(jié)點的詳細(xì)信息時MMC
	//結(jié)果視圖的數(shù)據(jù)類型
	//這里返回為"消息類型",用于說明該管理單元的說明信息
	STDMETHOD(GetResultViewType)(LPOLESTR *ppViewType,long *pViewOptions)
	{
		LPOLESTR lpOleStr = NULL;
		HRESULT hr = StringFromCLSID(CLSID_MessageView, &lpOleStr);
		if(SUCCEEDED(hr))
			*ppViewType = lpOleStr;
		else 
			*ppViewType = NULL;

		*pViewOptions = MMC_VIEW_OPTIONS_NONE;
		return S_FALSE;
	}
	//當(dāng)用戶點擊該節(jié)點查看該節(jié)點的詳細(xì)信息時MMC
	//通過OnShow函數(shù)類來提供與GetResultViewType相應(yīng)的數(shù)據(jù)
	HRESULT OnShow(IConsole *spConsole, BOOL bShow)
	{


		//CComQIPtr<IResultData, &IID_IResultData> spResultData(spConsole);
		HRESULT hr;
		IUnknown *pUnk = NULL;
		IMessageView *pMessageView = NULL;
		hr = spConsole->QueryResultView(&pUnk);
		if (SUCCEEDED(hr)) 
		{
			hr = pUnk->QueryInterface(IID_IMessageView, (void **)&pMessageView);
			if (SUCCEEDED(hr)) 
			{
				pMessageView->SetIcon(Icon_Information);
				pMessageView->SetTitleText(L"歡迎使用財政管理系統(tǒng)\n--------權(quán)限管理");
				pMessageView->SetBodyText(L"您可以使用該模塊完成以下功能:\n     1.管理本地用戶對系統(tǒng)各模塊的權(quán)限.\n 	2.管理本地組對系統(tǒng)各模塊的權(quán)限.\n注意,用戶的最終權(quán)限受其所屬的組的權(quán)限的影響!\n另外:程序列出系統(tǒng)用戶和組的時候可能需要一些時間,請稍候。");
				pMessageView->Release();
			}
			pUnk->Release();
		}

		return S_FALSE;


	}
	//當(dāng)用戶展開該樹節(jié)點時,可通過該函數(shù)添加子節(jié)點的內(nèi)容
	HRESULT OnExpand(BOOL bExpand, IConsole *pConsole, HSCOPEITEM parent);
};

class CAuthorityMgr;

class CAuthorityMgrComponent : public CComObjectRootEx<CComSingleThreadModel>,
	public CSnapInObjectRoot<2, CAuthorityMgr >,
	public IExtendPropertySheetImpl<CAuthorityMgrComponent>,
	public IExtendContextMenuImpl<CAuthorityMgrComponent>,
	public IExtendControlbarImpl<CAuthorityMgrComponent>,
	public IComponentImpl<CAuthorityMgrComponent>
{
public:
BEGIN_COM_MAP(CAuthorityMgrComponent)
	COM_INTERFACE_ENTRY(IComponent)
    COM_INTERFACE_ENTRY(IExtendPropertySheet)
    COM_INTERFACE_ENTRY(IExtendContextMenu)
    COM_INTERFACE_ENTRY(IExtendControlbar)
END_COM_MAP()

public:
	CAuthorityMgrComponent():m_ipDisplayHelp(NULL)
	{
	}

	STDMETHOD(Notify)(LPDATAOBJECT lpDataObject, MMC_NOTIFY_TYPE event, long arg, long param)
	{
		if (lpDataObject != NULL)
			return IComponentImpl<CAuthorityMgrComponent>::Notify(lpDataObject, event, arg, param);
		// TODO : Add code to handle notifications that set lpDataObject == NULL.
		return E_NOTIMPL;
	}
		STDMETHOD(Initialize)(LPCONSOLE lpConsole)
	{
		HRESULT hr=IComponentImpl<CAuthorityMgrComponent>::Initialize(lpConsole);
		_ASSERT( S_OK == hr );
		hr = m_spConsole->QueryInterface(IID_IDisplayHelp, (void **)&m_ipDisplayHelp);
		_ASSERT( S_OK == hr );
		return hr;
	}
	STDMETHOD(Destroy)(long cookie)
	{
		if (m_ipDisplayHelp) 
		{
			m_ipDisplayHelp->Release();
			m_ipDisplayHelp = NULL;
		}
		HRESULT hr=IComponentImpl<CAuthorityMgrComponent>::Destroy(cookie);
		return hr;
	}
		IDisplayHelp* m_ipDisplayHelp;
}

class CAuthorityMgr : public CComObjectRootEx<CComSingleThreadModel>,
public CSnapInObjectRoot<1, CAuthorityMgr>,
	public IComponentDataImpl<CAuthorityMgr, CAuthorityMgrComponent>,
	public IExtendPropertySheetImpl<CAuthorityMgr>,
	public IExtendContextMenuImpl<CAuthorityMgr>,
	public CComCoClass<CAuthorityMgr, &CLSID_AuthorityMgr>
{
public:
	CAuthorityMgr()
	{
		m_pNode = new CAuthorityMgrData;
		_ASSERTE(m_pNode != NULL);
		m_pComponentData = this;
	}

	~CAuthorityMgr()
	{
		delete m_pNode;
		m_pNode = NULL;
	}

BEGIN_COM_MAP(CAuthorityMgr)
	  COM_INTERFACE_ENTRY(IComponentData)
    COM_INTERFACE_ENTRY(IExtendPropertySheet)
    COM_INTERFACE_ENTRY(IExtendContextMenu)
END_COM_MAP()

DECLARE_REGISTRY_RESOURCEID(IDR_AUTHORITYMGR)

DECLARE_NOT_AGGREGATABLE(CAuthorityMgr)

	STDMETHOD(Initialize)(LPUNKNOWN pUnknown);
	static HRESULT LoadImages(IImageList*);

	static void WINAPI ObjectMain(bool bStarting)
	{
		if (bStarting)
			CSnapInItem::Init();
	}



}

class ATL_NO_VTABLE CAuthorityMgrAbout : public ISnapinAbout,
	public CComObjectRoot,
	public CComCoClass< CAuthorityMgrAbout, &CLSID_AuthorityMgrAbout>
{

	HBITMAP				m_hSmallImage;
    HBITMAP				m_hLargeImage;
    HBITMAP				m_hSmallImageOpen;
	HICON m_hAppIcon;
public:
	CAuthorityMgrAbout()
	{
		m_hSmallImage = (HBITMAP)LoadImage(_Module.GetModuleInstance(), MAKEINTRESOURCE(IDB_AUTHORITYMGR_32), IMAGE_BITMAP, 16, 16, LR_LOADTRANSPARENT);
		m_hLargeImage = (HBITMAP)LoadImage(_Module.GetModuleInstance(), MAKEINTRESOURCE(IDB_AUTHORITYMGR_32), IMAGE_BITMAP, 32, 32, LR_LOADTRANSPARENT);
		m_hSmallImageOpen = (HBITMAP)LoadImage(_Module.GetModuleInstance(), MAKEINTRESOURCE(IDB_SMOPEN), IMAGE_BITMAP, 16, 16, LR_LOADTRANSPARENT);
		m_hAppIcon = LoadIcon(_Module.GetModuleInstance(), MAKEINTRESOURCE(IDI_APPICON));
	}
	~CAuthorityMgrAbout()
	{
		::DeleteObject(m_hSmallImage);
		::DeleteObject(m_hLargeImage);
		::DeleteObject(m_hSmallImageOpen);
		::DestroyIcon(m_hAppIcon);
	}
	DECLARE_REGISTRY(CAuthorityMgrAbout, _T("AuthorityMgrAbout.1"), _T("AuthorityMgrAbout.1"), IDS_AUTHORITYMGR_DESC, THREADFLAGS_BOTH);

	BEGIN_COM_MAP(CAuthorityMgrAbout)
		COM_INTERFACE_ENTRY(ISnapinAbout)
	END_COM_MAP()

	STDMETHOD(GetSnapinDescription)(LPOLESTR *lpDescription)
	{
		USES_CONVERSION;
		TCHAR szBuf[256];
		if (::LoadString(_Module.GetResourceInstance(), IDS_AUTHORITYMGR_DESC, szBuf, 256) == 0)
			return E_FAIL;

		*lpDescription = (LPOLESTR)CoTaskMemAlloc((lstrlen(szBuf) + 1) * sizeof(OLECHAR));
		if (*lpDescription == NULL)
			return E_OUTOFMEMORY;

		ocscpy(*lpDescription, T2OLE(szBuf));

		return S_OK;
	}

	STDMETHOD(GetProvider)(LPOLESTR *lpName)
	{
		USES_CONVERSION;
		TCHAR szBuf[256];
		if (::LoadString(_Module.GetResourceInstance(), IDS_AUTHORITYMGR_PROVIDER, szBuf, 256) == 0)
			return E_FAIL;

		*lpName = (LPOLESTR)CoTaskMemAlloc((lstrlen(szBuf) + 1) * sizeof(OLECHAR));
		if (*lpName == NULL)
			return E_OUTOFMEMORY;

		ocscpy(*lpName, T2OLE(szBuf));

		return S_OK;
	}

	STDMETHOD(GetSnapinVersion)(LPOLESTR *lpVersion)
	{
		USES_CONVERSION;
		TCHAR szBuf[256];
		if (::LoadString(_Module.GetResourceInstance(), IDS_AUTHORITYMGR_VERSION, szBuf, 256) == 0)
			return E_FAIL;

		*lpVersion = (LPOLESTR)CoTaskMemAlloc((lstrlen(szBuf) + 1) * sizeof(OLECHAR));
		if (*lpVersion == NULL)
			return E_OUTOFMEMORY;

		ocscpy(*lpVersion, T2OLE(szBuf));

		return S_OK;
	}


	STDMETHOD(GetSnapinImage)(HICON *hAppIcon)
	{
		*hAppIcon = m_hAppIcon;
		return S_OK;
	}

	STDMETHOD(GetStaticFolderImage)(HBITMAP *hSmallImage,
		HBITMAP *hSmallImageOpen,
		HBITMAP *hLargeImage,
		COLORREF *cMask)
	{
		*hSmallImage = m_hSmallImage;
		*hSmallImageOpen = m_hSmallImageOpen;
		*hLargeImage = m_hLargeImage;
		*cMask = RGB(0, 128, 128);
		if (*hSmallImage == NULL || *hLargeImage == NULL || 
         *hSmallImageOpen == NULL)
			return E_FAIL;
		else
	        return S_OK;
	}
}

#endif

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人免费在线播放视频| 色婷婷精品久久二区二区蜜臂av | 久久久久亚洲综合| 国产精品99久久久久久似苏梦涵 | 最新国产成人在线观看| 91亚洲精品久久久蜜桃网站| 亚洲人成网站影音先锋播放| 色婷婷av一区二区三区大白胸| 亚洲少妇中出一区| 欧美日韩中字一区| 蜜臀久久99精品久久久久宅男| 日韩三级视频在线观看| 国产真实乱对白精彩久久| 日本一区二区在线不卡| 色又黄又爽网站www久久| 午夜久久电影网| 精品久久久久99| 91在线精品一区二区| 亚洲国产精品久久人人爱蜜臀| 91精品国产一区二区三区| 另类中文字幕网| 亚洲国产高清不卡| 欧美日韩激情在线| 国产综合色在线视频区| 亚洲欧美在线aaa| 欧美老女人在线| 风间由美一区二区av101| 亚洲精品乱码久久久久久日本蜜臀| 欧美日韩精品系列| 国产福利电影一区二区三区| 亚洲日本在线天堂| 精品国产一区二区三区四区四 | 久久精品二区亚洲w码| 中文在线资源观看网站视频免费不卡| 91色九色蝌蚪| 久久99精品久久久久婷婷| 一色桃子久久精品亚洲| 91精品国产综合久久久蜜臀粉嫩| 国产成人精品免费在线| 午夜影视日本亚洲欧洲精品| 国产日韩欧美在线一区| 欧美日韩一级视频| 成年人午夜久久久| 免费看欧美女人艹b| 亚洲四区在线观看| 久久久噜噜噜久久人人看| 欧美人妖巨大在线| proumb性欧美在线观看| 久久99精品国产麻豆不卡| 亚洲一区二区三区四区在线观看 | 欧美疯狂性受xxxxx喷水图片| 成人的网站免费观看| 麻豆精品在线观看| 亚洲一区二区四区蜜桃| 日本一区二区三区视频视频| 欧美一级理论片| 欧美综合天天夜夜久久| eeuss鲁片一区二区三区在线看| 久久精品国产77777蜜臀| 亚洲第一综合色| 亚洲免费av在线| ...中文天堂在线一区| 欧美极品aⅴ影院| 久久久久久麻豆| 精品国产1区二区| 7777精品久久久大香线蕉| 精品视频一区二区三区免费| 99r国产精品| 99精品一区二区| 99国产麻豆精品| av亚洲精华国产精华精| 懂色av一区二区三区免费观看| 国产乱码精品一区二区三| 麻豆91在线播放免费| 三级在线观看一区二区| 亚洲成人在线免费| 亚洲第一综合色| 午夜精品免费在线观看| 香蕉久久一区二区不卡无毒影院| 亚洲免费伊人电影| 亚洲自拍偷拍图区| 亚洲午夜精品在线| 亚洲成av人片一区二区| 亚洲午夜精品网| 日韩国产精品久久久久久亚洲| 亚洲成人激情自拍| 五月激情丁香一区二区三区| 水野朝阳av一区二区三区| 婷婷成人综合网| 狠狠色综合播放一区二区| 国产在线麻豆精品观看| 国产精品77777竹菊影视小说| 国产乱子轮精品视频| 丁香一区二区三区| 色噜噜狠狠色综合中国| 欧美特级限制片免费在线观看| 欧美日韩三级视频| 日韩欧美高清在线| 欧美高清一级片在线观看| 亚洲人成小说网站色在线| 亚洲国产精品综合小说图片区| 亚洲成精国产精品女| 九色porny丨国产精品| www.日本不卡| 欧美日韩dvd在线观看| 欧美不卡123| 国产精品国产精品国产专区不片| 亚洲伦在线观看| 午夜精品久久久| 欧美日韩一区二区欧美激情 | 欧美一区二区女人| 亚洲精品在线三区| 国产精品国产三级国产普通话蜜臀 | 成人av在线影院| 在线观看av一区| 久久久一区二区三区| 一区二区日韩av| 国产一区二区三区蝌蚪| 色综合久久中文字幕综合网| 欧美一区二区国产| 中文字幕乱码久久午夜不卡| 午夜精品久久久久久久99水蜜桃 | 777亚洲妇女| 日本一区二区三区国色天香 | 亚洲人成7777| 狠狠色狠狠色综合日日91app| 不卡免费追剧大全电视剧网站| 欧美高清dvd| 国产精品久久久久aaaa樱花 | 色综合中文综合网| 亚洲国产精品久久人人爱| 国产精品亚洲一区二区三区在线| 日本福利一区二区| 中文字幕国产一区二区| 奇米精品一区二区三区在线观看 | 国产精品久久久爽爽爽麻豆色哟哟| 亚洲图片欧美色图| 成人黄色片在线观看| 日韩三级在线免费观看| 一区二区三区高清不卡| 国产在线视频不卡二| 欧美日本乱大交xxxxx| 中文字幕乱码一区二区免费| 久久精品国产精品亚洲综合| 欧美调教femdomvk| 亚洲免费在线电影| eeuss鲁片一区二区三区| 久久综合色婷婷| 免费高清在线一区| 欧美疯狂做受xxxx富婆| 一区二区激情视频| 91在线国产观看| 国产精品国产a| 国产精品一区在线| 精品久久久久久久久久久久久久久 | www.激情成人| 国产日韩精品一区二区三区在线| 日本人妖一区二区| 91精品国产免费| 午夜精品一区二区三区电影天堂| 色婷婷久久久久swag精品| 国产精品久久久久久久久免费相片| 捆绑调教一区二区三区| 欧美一区二区三区四区高清| 一区二区三区四区激情| 一本色道亚洲精品aⅴ| 国产精品福利一区二区三区| 国产91在线观看| 中文字幕av资源一区| 成人免费视频视频| 国产精品久线观看视频| 91原创在线视频| 亚洲精品美腿丝袜| 欧美日韩国产精品自在自线| 午夜精品影院在线观看| 欧美一级二级三级乱码| 极品少妇一区二区三区精品视频| 精品电影一区二区| 国模冰冰炮一区二区| 中文天堂在线一区| 91麻豆精东视频| 亚洲国产视频直播| 日韩欧美久久久| 国产成人一级电影| 亚洲女与黑人做爰| 欧美日韩三级视频| 黄色资源网久久资源365| 欧美激情在线免费观看| 91亚洲国产成人精品一区二区三| **欧美大码日韩| 色视频一区二区| 三级影片在线观看欧美日韩一区二区 | 日本韩国欧美一区| 免费在线视频一区| 中文久久乱码一区二区| 在线观看国产日韩| 黄色资源网久久资源365| 中文字幕中文字幕中文字幕亚洲无线| 91色视频在线| 男女男精品视频网|