项目分析 占用
CVSS_Module.h
class CVSS_Module:
void AddCommand(int nCmdType, IVSS_Command* pCommand);
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
CVSS_Commands.h
class CVSS_Commands:
void AddCommand(int nCmdType, IVSS_Command* pCommand);
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
CVSS_ModuleFactory.h
class CVSS_ModuleFactory
void AddCommand(int nType, IVSS_Command* pCommand);
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
CVSS_Commands.cpp
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
void CVSS_Commands::AddCommand(int nCmdType, IVSS_Command* pCommand)
{
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
if(pCommand == 0)
{
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
return;
}
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
m_mapCommands.insert(COMMAND_MAP::value_type(nCmdType, pCommand));
}
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
CVSS_Module.cpp
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
void CVSS_Module::AddCommand(int nCmdType, IVSS_Command* pCommand)
{
if(pCommand == NULL) return;
CVSS_ModuleFactory* pFactory = CVSS_ModuleFactory::GetFactory();
pFactory->AddCommand(nCmdType, pCommand);
}
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
CVSS_ModuleFactory.cpp
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
void CVSS_ModuleFactory::AddCommand(int nType, IVSS_Command* pCommand)
{
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
m_Commands.AddCommand(nType, pCommand);
}
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
CVSS_ModuleFactory.cpp
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
void CVSS_ModuleFactory::InitFactory()
{
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
GetModuleFileName(NULL, m_pszWorkDir, 255);
(_tcsrchr(m_pszWorkDir,_T('\\')))[1] = NULL;
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
MODULE_MAP::iterator it = m_mapModules.begin();
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
for (; !(it == m_mapModules.end()); it++)
{
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
CVSS_Module* pModule = (*it).second;
pModule->ModuleInit();
}
Broadcast(MSG_SYSTEM_STARTED, (WPARAM)m_pszWorkDir, 0);
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
AddCommand(CMD_SYS_OPENDB, new CVSS_OpenDBCommand);
}
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
CVSS_DataManager.cpp
void CVSS_DataManager::ModuleInit()
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
{
CVSS_DataEditCommand* pDataEditor = new CVSS_DataEditCommand(this);
if(NULL == pDataEditor)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
char msg[512];
sprintf(msg, "%s(%d) : ERROR %d : %s", __FILE__, __LINE__, VSS_OUT_OF_MEMORY, "The param \"pDataEditor\" allocate failed.");
GetLogPtr->Debug(msg);
return;
}
AddCommand(CMD_DATAEDIT, pDataEditor);
}
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
CVSS_MapViewer.cpp
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
void CVSS_MapViewer::ModuleInit()
{
// 添加鼠标监听器
CVSS_MapCtrlMouseListener* mml = new CVSS_MapCtrlMouseListener;
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
if(mml == NULL)
{
char msg[512];
sprintf(msg, "%s(%d) : ERROR %d : %s", __FILE__, __LINE__, VSS_OUT_OF_MEMORY, "Out of memory.");
GetLogPtr->Debug(msg);
}
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
else
{
m_pMouseListenerPool->AddMouseListener(MAT_MAPZOOMIN, mml);
}
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
mml = new CVSS_MapCtrlMouseListener;
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
if(mml == NULL)
{
char msg[512];
sprintf(msg, "%s(%d) : ERROR %d : %s", __FILE__, __LINE__, VSS_OUT_OF_MEMORY, "Out of memory.");
GetLogPtr->Debug(msg);
}
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
else
{
m_pMouseListenerPool->AddMouseListener(MAT_MAPZOOMOUT, mml);
}
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
mml = new CVSS_MapCtrlMouseListener;
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
if(mml == NULL)
{
char msg[512];
sprintf(msg, "%s(%d) : ERROR %d : %s", __FILE__, __LINE__, VSS_OUT_OF_MEMORY, "Out of memory.");
GetLogPtr->Debug(msg);
}
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
else
{
m_pMouseListenerPool->AddMouseListener(MAT_MAPPAN, mml);
}
// 添加命令
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
CVSS_MapCtrlCommand* pmcc = new CVSS_MapCtrlCommand(this);
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
if(pmcc == NULL)
{
char msg[512];
sprintf(msg, "%s(%d) : ERROR %d : %s", __FILE__, __LINE__, VSS_OUT_OF_MEMORY, "Out of memory.");
GetLogPtr->Debug(msg);
}
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
else
{
AddCommand(CMD_MAP_VIEW, pmcc);
}
大部分转载 小部分自写
原文地址:https://www.cnblogs.com/8586/p/1251358.html