[cpp]
#include "StdAfx.h"
#include "mcmsgtip_demo.h"
#include "MsgTipMng.h"
class vcttip_finder
{
public:
vcttip_finder(int nTipID)
: m_nTipID(nTipID)
{
}
bool operator()(const CMsgTipDlg* pTipDlg)
{
if (NULL == pTipDlg)
{
return false;
}
int nInTipID = pTipDlg->GetTipID();
return (m_nTipID == nInTipID);
}
private:
int m_nTipID;
};
CMsgTipMng::CMsgTipMng(void)
: m_bInShow(false)
{
}
CMsgTipMng::~CMsgTipMng(void)
{
}
void CMsgTipMng::AddTipWindow(const CString& strTipInfo)
{
m_vTipVct.push_back(new CMsgTipDlg(this, strTipInfo));
ShowTipWindow();
}
void CMsgTipMng::RemoveTipWindow(int nTipID)
{
vector
find_if(m_vTipVct.begin(), m_vTipVct.end(), vcttip_finder(nTipID));
if (vIter == m_vTipVct.end())
{
return;
}
m_vTipVct.erase(vIter);
m_bInShow = false;
ShowTipWindow();
}
void CMsgTipMng::ShowTipWindow()
{
if (m_vTipVct.empty())
{
return;
}
if (m_bInShow)
{
return;
}
m_bInShow = true;
m_vTipVct[0]->ShowMsgWindow();
}
3、消息框显示
m_pTipMng为成员变量,类型CMsgTipMng*。
显示对话框:
m_pTipMng->AddTipWindow(_T("Hello World!"));
作者:segen_jaa