资源简介
用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\BCGfr
文件 1931 1999-04-05 17:56 BCG\BCGControlBar\BCGfr
文件 6913 1999-04-05 18:29 BCG\BCGControlBar\BCGfr
文件 3285 1999-04-07 13:05 BCG\BCGControlBar\BCGfr
文件 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\BCGMDif
文件 3607 1999-04-07 13:06 BCG\BCGControlBar\BCGMDif
............此处省略272个文件信息
- 上一篇:dev c++ 32位
- 下一篇:C语言的读取GPS源码
相关资源
- 基于MFC的TCP调试助手源码95706
- 基于mfc的多线程文件传输
- VC++ 多线程文件读写操作
- 移木块游戏,可以自编自玩,vc6.0编写
- MFC数字钟(基于VC6.0)
- VC++MFC小游戏实例教程(实例)+MFC类库
- VC++实现CMD命令执行与获得返回信息
- ChartCtrl控件库(可在VS2019中使用)
- 商品库存管理系统 C++ MFC
- mfc 调用redis
- MFC视频播放器源码(支持avi/wma/mp3等格
- VC++基于OpenGL模拟的一个3维空间模型
- mfc绘图大全(画直线、矩形、椭圆)
- MFC控件重绘
- hook,捕获所有案件,查找所有窗口,
- (学习)VS2010之MFC入门到精通教程
- 基于VC++的SolidWorks二次开发SolidWorks
- MFC文档_视图_框架_模板结构体系深入
- 简单员工管理系统(适合初学MFC)
- 派克变换VC++源码(附文档)
- VC++ 串口
- MFC五子棋游戏
- VC++ 大富翁4_大富翁游戏源码
- MFC UDP编程
- MFC的异步网络通讯应用程序
- VC++ 摄像头视频采集与回放源程序
- C++MFC模块讲解,黑发程序员课程整理
- 转 VC++ 实现电子邮件(Email)发送
- 一个简单而强大的基于MFC的web server源
- 基于MFC的VC++仿QQ浏览器源码(雏形)
评论
共有 条评论