资源简介
用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源码
相关资源
- vc++ 6.0使用dbghelp.dll生成dmp内存转储文
- VC++(MFC)实现FTP功能(源代码)
- wxWidget多语言移植到MFC动态库DLL
- MFC对话框动态接收数据插入List列表并
- VC++操作MSChart表格控件,效果不错。
- 单片空间后方交会,求外方位元素、
- MFC实现完整GoBang五子棋
- 郁金香vc++辅助教程合集
- 吕鑫-VS2015之C.C++.MFC等完整视频链接
- VC++ MFC 的计算器的详细设计
- vc++ 和 openGL 做的 3D水波模拟 非常炫
- MFC简易音乐播放器源码
- VC++实现算数编码
- opengl+mfc画线填充左键单击绘包围线、
- MFC可编辑列表框控件
- MFC 多线程之间通过消息传递数据
- VIsual C++实现的连连看游戏程序
- MFC71D.dll
- 重绘CListCtrl的scrollbarheaderctrl和items的
- mfc渐变进度条
- MFC实现K均值算法
- 一个漂亮的VC++示波器生成类
- MFC中嵌入显示opencv图像
- MFC的CheckBox自绘类
- MFC 状态栏进度条
- vs mfc opengl配置教程
- C++中用数组实现的通讯录
- vc++基于MFC实现多媒体播放器源码
- MFC实现的操作系统页面置换FIFO、LRU、
- VC++ 实现定时关机或休眠-MFC 对话框应
评论
共有 条评论