資源簡介
用vc++ mfc 編寫的一個網(wǎng)頁瀏覽器

代碼片段和文件信息
//?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源碼
評論
共有 條評論