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

📄 bcgpcaptionmenubutton.cpp

📁 远程网络监视程序的源码
💻 CPP
字号:
// BCGPCaptionMenuButton.cpp: implementation of the CBCGPCaptionMenuButton class.
//
/////////////////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "bcgcbpro.h"
#include "BCGGlobals.h"
#include "BCGPVisualManager.h"
#include "BCGPContextMenuManager.h"
#include "BCGPCaptionButton.h"
#include "BCGPCaptionMenuButton.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CBCGPCaptionMenuButton

CBCGPCaptionMenuButton::CBCGPCaptionMenuButton()
{
	m_nMenuResult = 0;
	m_bOSMenu = TRUE;
	m_bMenuIsActive = FALSE;
}

CBCGPCaptionMenuButton::CBCGPCaptionMenuButton(UINT nHit, BOOL bLeftAlign) 
	: CBCGPCaptionButton(nHit, bLeftAlign)
{
	m_nMenuResult = 0;
	m_bOSMenu = TRUE;
	m_bMenuIsActive = FALSE;
}

CBCGPCaptionMenuButton::~CBCGPCaptionMenuButton()
{
}

/////////////////////////////////////////////////////////////////////////////
// CBCGPCaptionMenuButton message handlers

void CBCGPCaptionMenuButton::OnDraw (CDC* pDC, BOOL bActive,
	BOOL bHorz, BOOL bMaximized, BOOL bDisabled)
{
	if (m_bHidden)
	{
		return;
	}

	CBCGPVisualManager::GetInstance ()->OnDrawCaptionButton (
			pDC, this, bActive, bHorz, bMaximized, bDisabled);
}
//*****************************************************************************************
void CBCGPCaptionMenuButton::ShowMenu (HMENU hMenu, CWnd* pWndOwner)
{
	ASSERT_VALID (pWndOwner);

	CRect rectWnd;
	pWndOwner->GetWindowRect (&rectWnd);
	CSize size = GetSize ();
	CPoint point = m_ptOrg + rectWnd.TopLeft ();
	point.x += size.cx;
	point.y += size.cy;

	m_bMenuIsActive = TRUE;
	m_bPushed = TRUE;
	pWndOwner->InvalidateRect (GetRect ());
	pWndOwner->SendMessage(WM_NCPAINT);

	if (!m_bOSMenu && g_pContextMenuManager != NULL)
	{
		m_nMenuResult = g_pContextMenuManager->TrackPopupMenu (
			hMenu, point.x, point.y, pWndOwner, TRUE /* RightAlign */);
	}
	else
	{
		m_nMenuResult = ::TrackPopupMenu (hMenu, 
			TPM_LEFTALIGN | TPM_LEFTBUTTON | TPM_NONOTIFY | TPM_RETURNCMD, 
			point.x, point.y, 0, pWndOwner->GetSafeHwnd (), NULL);
	}

	m_bMenuIsActive = FALSE;
	m_bPushed = FALSE;
	pWndOwner->InvalidateRect (GetRect ());
	pWndOwner->SendMessage(WM_NCPAINT);
}

⌨️ 快捷键说明

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