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

📄 authoritymgr.cpp

📁 能够完成短信的接收和发送
💻 CPP
字号:
#include "stdafx.h"
#include "CZMisMMC.h"
#include "AuthorityMgr.h"

/////////////////////////////////////////////////////////////////////////////
// CAuthorityMgrComponentData
static const GUID CAuthorityMgrGUID_NODETYPE = 
{ 0x8ff5f649, 0x4adc, 0x4de4, { 0xb3, 0xb9, 0x84, 0xfc, 0xa7, 0x84, 0x92, 0xc2 } };
const GUID*  CAuthorityMgrData::m_NODETYPE = &CAuthorityMgrGUID_NODETYPE;
const OLECHAR* CAuthorityMgrData::m_SZNODETYPE = OLESTR("8FF5F649-4ADC-4DE4-B3B9-84FCA78492C2");
const OLECHAR* CAuthorityMgrData::m_SZDISPLAY_NAME = OLESTR("财政管理系统权限管理");
const CLSID* CAuthorityMgrData::m_SNAPIN_CLASSID = &CLSID_AuthorityMgr;


HRESULT CAuthorityMgrData::OnExpand(BOOL bExpand, IConsole *pConsole, HSCOPEITEM parent)
{
	if (!bExpand)
	   return S_OK;

	m_scopeDataItem.ID = parent;
	HSCOPEITEM hChild = NULL;
	long cookie = 0;
	CComQIPtr<IConsoleNameSpace, &IID_IConsoleNameSpace> spConsoleNameSpace(pConsole);
	spConsoleNameSpace->GetChildItem(m_scopeDataItem.ID, &hChild, &cookie);
	if (hChild != NULL)
	  spConsoleNameSpace->DeleteItem(m_scopeDataItem.ID, FALSE);
    
	HRESULT hr;
    
	//以下图标类型常量在stdafx.h中定义 
	//INDEX_AllUSER
	//INDEX_AllGroup
    
	//添加所有用户子节点
	m_pAllUserNode->m_scopeDataItem.relativeID = m_scopeDataItem.ID;
    m_pAllUserNode->m_scopeDataItem.nImage=INDEX_AllUSER;
    m_pAllUserNode->m_scopeDataItem.nOpenImage=INDEX_AllUSER;
    m_pAllUserNode->m_scopeDataItem.cChildren=1;         
        
	hr = spConsoleNameSpace->InsertItem(&m_pAllUserNode->m_scopeDataItem);
	_ASSERT( SUCCEEDED(hr) );

    //添加所有组子节点
	m_pAllGroupNode->m_scopeDataItem.relativeID = m_scopeDataItem.ID;
    m_pAllGroupNode->m_scopeDataItem.nImage=INDEX_AllGroup;
    m_pAllGroupNode->m_scopeDataItem.nOpenImage=INDEX_AllGroup;
    m_pAllGroupNode->m_scopeDataItem.cChildren=1;   


   //调用MMC名字空间对象插入子节点
	hr = spConsoleNameSpace->InsertItem(&m_pAllGroupNode->m_scopeDataItem);
	_ASSERT( SUCCEEDED(hr) );
	

	return S_OK;
//after this MMC calls GetDisplayInfo() which 
//in ATL translates to GetScopePaneInfo()
}

HRESULT CAuthorityMgrData::CreatePropertyPages(LPPROPERTYSHEETCALLBACK lpProvider,
    long handle, 
	IUnknown* pUnk,
	DATA_OBJECT_TYPES type)
{
	if (type == CCT_SCOPE || type == CCT_RESULT)
	{
		CAuthorityMgrPage* pPage = new CAuthorityMgrPage(handle, true, _T("AuthorityMgr"));
		lpProvider->AddPage(pPage->Create());
		// The second parameter  to the property page class constructor
		// should be true for only one page.

		// TODO : Add code here to add additional pages
		return S_OK;
	}
	return E_UNEXPECTED;
}




HRESULT CAuthorityMgr::Initialize(LPUNKNOWN pUnknown)
{
	HRESULT hr = IComponentDataImpl<CAuthorityMgr, CAuthorityMgrComponent >::Initialize(pUnknown);
	if (FAILED(hr))
		return hr;

	CComPtr<IImageList> spImageList;

	if (m_spConsole->QueryScopeImageList(&spImageList) != S_OK)
	{
		ATLTRACE(_T("IConsole::QueryScopeImageList failed\n"));
		return E_UNEXPECTED;
	}

	// Load bitmaps associated with the scope pane
	// and add them to the image list
	// Loads the default bitmaps generated by the wizard
	// Change as required

	return LoadImages(spImageList);



}
HRESULT CAuthorityMgr::LoadImages(IImageList* pImageList)
{
	HRESULT hr = E_FAIL;
	HBITMAP m_hSmallBmp = LoadBitmap(_Module.GetResourceInstance(),MAKEINTRESOURCE(IDR_SMICONS));
	   if (m_hSmallBmp != NULL)
	   {
		  HBITMAP m_hLargeBmp = LoadBitmap(_Module.GetResourceInstance(),MAKEINTRESOURCE(IDR_LGICONS));
		  if (m_hLargeBmp != NULL)
		  {
			 hr = pImageList->ImageListSetStrip((long*) m_hSmallBmp, (long*) m_hLargeBmp,0, RGB(0, 128, 128));
			 //_ASSERT(SUCCEEDED(hr));
			 if (FAILED(hr))
				ATLTRACE(_T("IImageList::ImageListSetStrip failed\n"));
		  }
		  DeleteObject(m_hLargeBmp);
	   }
	  DeleteObject(m_hSmallBmp);
	 return hr;
}

⌨️ 快捷键说明

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