• 大小: 769KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-04
  • 语言: C/C++
  • 标签: vc++  MFC  浏览器  

资源简介

用vc++ mfc 编写的一个网页浏览器

资源截图

代码片段和文件信息

// BCGContextMenuManager.cpp: implementation of the CBCGContextMenuManager class.
//
//////////////////////////////////////////////////////////////////////

#include “stdafx.h“
#include “BCGContextMenuManager.h“
#include “BCGPopupMenu.h“
#include “MenuHash.h“
#include “globals.h“

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

CBCGContextMenuManager* g_pContextMenuManager = NULL;

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

CBCGContextMenuManager::CBCGContextMenuManager()
{
ASSERT (g_pContextMenuManager == NULL);
g_pContextMenuManager = this;
}
//***********************************************************************************************
CBCGContextMenuManager::~CBCGContextMenuManager()
{
for (POSITION pos = m_Menus.GetStartPosition (); pos != NULL;)
{
UINT uiResId;
HMENU hMenu;

m_Menus.GetNextAssoc (pos uiResId hMenu);
::DestroyMenu (hMenu);
}

g_pContextMenuManager = NULL;
}
//**********************************************************************************
BOOL CBCGContextMenuManager::AddMenu(UINT uiMenuNameResId UINT uiMenuResId)
{
CString strMenuName;
strMenuName.LoadString (uiMenuNameResId);

return AddMenu (strMenuName uiMenuResId);
}
//***********************************************************************************************
BOOL CBCGContextMenuManager::AddMenu(LPCTSTR lpszName UINT uiMenuResId)
{
ASSERT (lpszName != NULL);

CMenu menu;
if (!menu.LoadMenu (uiMenuResId))
{
ASSERT (FALSE);
return FALSE;
}

HMENU hExMenu;
if (m_Menus.Lookup (uiMenuResId hExMenu))
{
//------------------------------------------
// Menu with the same name is already exist!
//------------------------------------------
ASSERT (FALSE);
return FALSE;
}

HMENU hMenu = menu.Detach ();

m_Menus.SetAt (uiMenuResId hMenu);
m_MenuNames.SetAt (lpszName hMenu);

return TRUE;
}
//***********************************************************************************************
BOOL CBCGContextMenuManager::ShowPopupMenu (UINT uiMenuResId int x int y CWnd* pWndOwner)
{
HMENU hMenu;
if (!m_Menus.Lookup (uiMenuResId hMenu) || hMenu == NULL)
{
return FALSE;
}

if (x == -1 && y == -1 && // Undefined position
pWndOwner != NULL)
{
CRect rectParent;
pWndOwner->GetClientRect (&rectParent);
pWndOwner->ClientToScreen (&rectParent);

x = rectParent.left + 5;
y = rectParent.top + 5;
}

HMENU hmenuPopup = ::GetSubMenu (hMenu 0);
if (hmenuPopup == NULL)
{
#ifdef _DEBUG

MENUITEMINFO info;
memset (&info 0 sizeof (MENUITEMINFO));

if (!::GetMenuItemInfo (hMenu 0 TRUE &info))
{
TRACE (_T(“Invalid menu: %d\n“) uiMenuResId);
}
else
{
ASSERT (info.hSubMenu == NULL);
TRACE (_T(“Menu %d first opti

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       5677  1999-04-26 20:26  BCG\BCGControlBar\bcgbarres.h

     文件       2333  1999-04-13 13:54  BCG\BCGControlBar\BCGCB.H

     文件       5691  1999-03-11 20:52  BCG\BCGControlBar\BCGContextMenuManager.cpp

     文件       1466  1999-03-11 20:53  BCG\BCGControlBar\BCGContextMenuManager.h

     文件       1977  1999-03-29 18:38  BCG\BCGControlBar\BCGControlBar.cpp

     文件        205  1999-02-26 22:25  BCG\BCGControlBar\BCGControlBar.def

     文件      14010  1999-05-08 02:21  BCG\BCGControlBar\BCGControlBar.dsp

     文件        551  1999-05-11 09:59  BCG\BCGControlBar\BCGControlBar.dsw

     文件        309  1999-03-29 18:28  BCG\BCGControlBar\BCGControlBar.h

     文件      53760  2000-07-11 12:04  BCG\BCGControlBar\BCGControlBar.opt

     文件       7259  2000-07-11 12:04  BCG\BCGControlBar\BCGControlBar.plg

     文件      20116  1999-04-26 20:26  BCG\BCGControlBar\BCGControlBar.rc

     文件      13051  1999-04-13 13:49  BCG\BCGControlBar\BCGControlBarStatic.dsp

     文件        563  1999-04-13 13:26  BCG\BCGControlBar\BCGControlBarStatic.dsw

     文件      18671  1999-04-13 13:50  BCG\BCGControlBar\BCGDockBar.cpp

     文件       3259  1999-02-26 22:25  BCG\BCGControlBar\BCGDockBar.h

     文件       4087  1999-05-13 20:42  BCG\BCGControlBar\BCGExCheckList.cpp

     文件       1666  1999-02-26 22:25  BCG\BCGControlBar\BCGExCheckList.h

     文件      18898  1999-04-12 19:48  BCG\BCGControlBar\BCGframeImpl.cpp

     文件       1931  1999-04-05 17:56  BCG\BCGControlBar\BCGframeImpl.h

     文件       6913  1999-04-05 18:29  BCG\BCGControlBar\BCGframeWnd.cpp

     文件       3285  1999-04-07 13:05  BCG\BCGControlBar\BCGframeWnd.h

     文件      11646  1999-03-20 04:16  BCG\BCGControlBar\BCGKeyboardManager.cpp

     文件       1306  1999-02-26 22:25  BCG\BCGControlBar\BCGKeyboardManager.h

     文件        313  1999-03-29 18:39  BCG\BCGControlBar\BCGLocalRes.cpp

     文件        204  1999-02-26 22:25  BCG\BCGControlBar\bcglocalres.h

     文件       1122  1999-02-26 22:25  BCG\BCGControlBar\BCGMainClientAreaWnd.cpp

     文件       1314  1999-02-26 22:25  BCG\BCGControlBar\BCGMainClientAreaWnd.h

     文件       9565  1999-04-13 19:05  BCG\BCGControlBar\BCGMDiframeWnd.cpp

     文件       3607  1999-04-07 13:06  BCG\BCGControlBar\BCGMDiframeWnd.h

............此处省略272个文件信息

评论

共有 条评论