cmenu.cpp

来自「可以实现对邮件的加密解密以及签名」· C++ 代码 · 共 72 行

CPP
72
字号
/*____________________________________________________________________________
		Copyright (C) 2002 PGP Corporation
        All rights reserved.

        $Id: CMenu.cpp,v 1.2 2002/08/06 20:10:46 dallen Exp $
____________________________________________________________________________*/

#include "pgpClassesConfig.h"
#include "CMenu.h"

_USING_PGP

// Class CMenu member functions

void 
CMenu::GetSubMenu(PGPInt32 pos, CMenu& subMenu) const
{
	pgpAssert(IsAttached());
	
	HMENU	hSubMenu	= ::GetSubMenu(mMenu, pos);

	if (IsNull(hSubMenu))
		THROW_ERRORS(kPGPError_Win32ResourceOpFailed, GetLastError());

	subMenu.Clear();
	subMenu.Attach(hSubMenu);
}

void 
CMenu::CreatePopupMenu()
{
	Clear();
	mMenu = ::CreatePopupMenu();

	if (IsNull(mMenu))
		THROW_ERRORS(kPGPError_Win32ResourceOpFailed, GetLastError());

	mWeCreated = TRUE;
}

void 
CMenu::Load(HINSTANCE instance, const char *name)
{
	Clear();
	mMenu = LoadMenu(instance, name);

	if (IsNull(mMenu))
		THROW_ERRORS(kPGPError_Win32ResourceOpFailed, GetLastError());

	mWeCreated = TRUE;
}

void 
CMenu::Attach(HMENU menu)
{
	if (mMenu == menu)
		return;

	mWeCreated = FALSE;
	mMenu = menu;
}

void 
CMenu::Clear()
{
	if (WeCreated())
		DestroyMenu(mMenu);

	mWeCreated = FALSE;
	mMenu = NULL;
}

⌨️ 快捷键说明

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