hey ich melde mcih noch mal weil ich den fehler einfach nicht finde ...hab noch x sachen ausprobiert aber eigentlich kommen mir meine stellen wo ich das ganze eingeügt habe relativ schlüssig vor:
den WndWorld.cpp eintrag hab ich inner halb der funktion:
BOOL CWndWorld::OnCommand( UINT nID, DWORD dwMessage, CWndBase* pWndBase )
hier hin gesetzt:
Code:
#ifdef __FASHION_COMBINE
case MMI_COSTUMEMIX01:
{
SAFE_DELETE( g_WndMng.m_pWndFashionCombine );
g_WndMng.m_pWndFashionCombine = new CWndFashionCombine;
g_WndMng.m_pWndFashionCombine->Initialize();
}
break;
#endif // __FASHION_COMBINE
#ifdef __TRANSFER_AWAKE
case MMI_TRANSFER_AWA:
{
SAFE_DELETE(g_WndMng.m_pWndTrans);
g_WndMng.m_pWndTrans = new CWndTransfer;
g_WndMng.m_pWndTrans->Initialize();
}
break;
#endif
} // switch
// Æ÷Ä¿½º¸¦ À©µµ·Î µ¹·ÁÁÖ¾î¾ß ¸Å´º°¡ ´ÝÈù´Ù.
SetFocus();
}
return CWndNeuz::OnCommand( nID, dwMessage, pWndBase );
}
wndmanager.h eintrag :
Code:
#ifdef __FASHION_COMBINE
CWndFashionCombine* m_pWndFashionCombine;
#endif // __FASHION_COMBINE
#ifdef __TRANSFER_AWAKE
CWndTransfer* m_pWndTrans;
#endif //__TRANSFER_AWAKE
wnd manager.cpp einträge:
1. inner halb CWndMgr::CWndMgr()
hier hin:
Code:
#ifdef __GUILD_HOUSE_MIDDLE
m_pWndGHBid = NULL;
#endif //__GUILD_HOUSE_MIDDLE
#ifdef __MAIL_REQUESTING_BOX
m_bWaitRequestMail = FALSE;
#endif
#ifdef __TRANSFER_AWAKE
m_pWndTrans = NULL;
#endif //__TRANSFER_AWAKE
#ifdef __COLOSSEUM
m_pColosseumComplete = NULL;
m_pColosseumEnter = NULL;
m_pColosseumMassage = NULL;
m_pColosseumRankGuild = NULL;
m_pColosseumRankNomal = NULL;
m_pColosseumRetry = NULL;
m_pColosseumStart = NULL;
m_pColosseumStartReady1 = NULL;
m_pColosseumStartReady2 = NULL;
#endif // __COLOSSEUM
}
2.inner halb void CWndMgr::Free()
hier hin:
Code:
#ifdef __GUILD_HOUSE_MIDDLE
SAFE_DELETE( m_pWndGHBid );
#endif //__GUILD_HOUSE_MIDDLE
#ifdef __TRANSFER_AWAKE
SAFE_DELETE( m_pWndTrans );
#endif //__TRANSFER_AWAKE
#ifdef __COLOSSEUM
SAFE_DELETE( m_pColosseumComplete );
SAFE_DELETE( m_pColosseumEnter );
SAFE_DELETE( m_pColosseumMassage );
SAFE_DELETE( m_pColosseumRankGuild );
SAFE_DELETE( m_pColosseumRankNomal );
SAFE_DELETE( m_pColosseumRetry );
SAFE_DELETE( m_pColosseumStart );
SAFE_DELETE( m_pColosseumStartReady1 );
SAFE_DELETE( m_pColosseumStartReady2 );
#endif // __COLOSSEUM
}
3.inner halb void CWndMgr::OnDestroyChildWnd( CWndBase* pWndChild )
hier hin :
Code:
#ifdef __GUILD_HOUSE_MIDDLE
else if( m_pWndGHBid == pWndChild )
{
SAFE_DELETE( m_pWndGHBid );
pWndChild = NULL;
}
#endif //__GUILD_HOUSE_MIDDLE
#ifdef __TRANSFER_AWAKE
if( m_pWndTrans == pWndChild )
{
SAFE_DELETE( m_pWndTrans );
pWndChild = NULL;
}
#endif //__TRANSFER_AWAKE
#ifdef __COLOSSEUM
4.innerhalb void CWndMgr::ClearAllWnd()
hier hin:
Code:
void CWndMgr::ClearAllWnd()
{
CWndNeuz* pWndBase;
DWORD dwIdApplet;
if(!m_clearFlag)
{
POSITION pos = m_mapWndApplet.GetStartPosition();
while( pos )
{
m_mapWndApplet.GetNextAssoc( pos, dwIdApplet, (void*&)pWndBase );
if( pWndBase && pWndBase->GetWndId() != APP_WORLD)
{
m_tempWndId.push_back(pWndBase->GetWndId());
pWndBase->SetVisible(FALSE);
}
}
CWndChat* pWndChat = (CWndChat*)g_WndMng.GetApplet( APP_COMMUNICATION_CHAT );
if(pWndChat != NULL && pWndChat->m_bChatLog)
m_pWndChatLog->SetVisible(FALSE);
#ifdef __TRANSFER_AWAKE
CWndTransfer* pWndTrans = (CWndTransfer*)g_WndMng.GetWndBase( APP_TRANSFER );
if(pWndTrans!= NULL)
pWndTrans->SetVisible(FALSE);
#endif //__TRANSFER_AWAKE
#if __VER >= 9 // __CSC_VER9_1
CWndPetStatus* pWndPetStatus = (CWndPetStatus*)g_WndMng.GetWndBase( APP_PET_STATUS );
if(pWndPetStatus != NULL)
pWndPetStatus->SetVisible(FALSE);
und 5. zu guter letzt innerhalb void CWndMgr::RestoreWnd()
hier hin:
Code:
void CWndMgr::RestoreWnd()
{
CWndNeuz* pWndBase;
DWORD dwIdApplet;
BOOL stopFlag = TRUE;
int wndId;
if(m_clearFlag)
{
std::list<int>::iterator it = m_tempWndId.begin();
while(it != m_tempWndId.end())
{
POSITION pos = m_mapWndApplet.GetStartPosition();
while( pos && stopFlag)
{
m_mapWndApplet.GetNextAssoc( pos, dwIdApplet, (void*&)pWndBase );
wndId = *it;
if(wndId == pWndBase->GetWndId())
{
pWndBase->SetVisible(TRUE);
stopFlag = FALSE;
}
}
it++;
stopFlag = TRUE;
}
m_tempWndId.clear();
CWndChat* pWndChat = (CWndChat*)g_WndMng.GetApplet( APP_COMMUNICATION_CHAT );
if(pWndChat != NULL && pWndChat->m_bChatLog)
m_pWndChatLog->SetVisible(TRUE);
#ifdef __TRANSFER_AWAKE
CWndTransfer* pWndTrans = (CWndTransfer*)g_WndMng.GetWndBase( APP_TRANSFER );
if(pWndTrans!= NULL)
pWndTrans->SetVisible(TRUE);
#endif //__TRANSFER_AWAKE
#if __VER >= 9 // __CSC_VER9_1
CWndPetStatus* pWndPetStatus = (CWndPetStatus*)g_WndMng.GetWndBase( APP_PET_STATUS );
if(pWndPetStatus != NULL)
pWndPetStatus->SetVisible(TRUE);
so weit so gut ich hoffe es kann jemand damit etwas anfangen und mir evtl die augen öffnen wo ich etwas an der falschen stelle eingefügt habe :-S
Mit ganz freundlichen Grüßen Passauer :D