void CUIChat::AddContinueMsg(e_ChatMode eCM, const std::string& szString, D3DCOLOR color) { __ChatInfo* pChatInfo = new __ChatInfo(szString, color); m_ContinueMsg.push_back(pChatInfo); AddChatMsg(eCM, szString, color); }
void CChatRoomDlg::RecvChatMsg( WORD wUserID, const char* pszMsg ) { std::list< CChatMember >::iterator iter; for( iter = m_Members.begin(); iter != m_Members.end(); ++iter ) { if( iter->GetServerIdx() == wUserID ) { AddChatMsg( CStr::Printf( "%s> %s", iter->GetName(), pszMsg ), g_dwWHITE ); break; } } }
void CChatRoomDlg::SendChatMsg() { CWinCtrl* pCtrl = FindChildInPane( IID_PANE_BOTTOM, IID_CHAT_EDIT ); if( pCtrl->GetControlType() != CTRL_EDITBOX ) return; CTEditBox* pEditBox = (CTEditBox*)pCtrl; if( pEditBox->IsFocus() ) { if( CChatRoom::GetInstance().GetState() == CChatRoom::STATE_ACTIVATED ) { char* pszMsg = pEditBox->get_text(); if( pszMsg && strlen( pszMsg ) >= 1 ) g_pNet->Send_cli_CHATROOM_MSG( pszMsg ); } else { AddChatMsg(pEditBox->get_text(), g_dwWHITE ); } pEditBox->clear_text(); ///내가 채팅 메세지를 보내면 항상 리스트는 맨밑으로 이동 CWinCtrl* pCtrl = FindChildInPane( IID_PANE_BOTTOM, IID_CHAT_LIST); if( pCtrl ) { if( pCtrl->GetControlType() == CTRL_ZLISTBOX) { CZListBox* pListBox = (CZListBox*)pCtrl; pCtrl = FindChildInPane( IID_PANE_BOTTOM, IID_CHAT_SCROLLBAR ); if( pCtrl && pCtrl->GetControlType() == CTRL_SCROLLBAR ) { CTScrollBar* pScrollBar = (CTScrollBar*)pCtrl; pScrollBar->SetValue( pListBox->GetMaximum() ); } } else { CTListBox* pListBox = (CTListBox*)pCtrl; pCtrl = FindChildInPane( IID_PANE_BOTTOM, IID_CHAT_SCROLLBAR ); if( pCtrl && pCtrl->GetControlType() == CTRL_SCROLLBAR ) { CTScrollBar* pScrollBar = (CTScrollBar*)pCtrl; pScrollBar->SetValue( pListBox->GetMaximum() ); } } } } }
void CUIChat::ShowContinueMsg() { int iSize = m_ContinueMsg.size(); if( m_iCurContinueMsg > iSize ) m_iCurContinueMsg = 0; int iCnt = 0; ChatListItor itor; for(itor = m_ContinueMsg.begin(); m_ContinueMsg.end() != itor; ++itor) { if( iCnt == m_iCurContinueMsg ) { m_iCurContinueMsg++; __ChatInfo* pChatInfo = (*itor); if(pChatInfo) AddChatMsg(N3_CHAT_CONTINUE, pChatInfo->szChat, pChatInfo->color); } } }