Move git root from Client/ to src/ to track all source code: - Client: Game client source (moved to Client/Client/) - Server: Game server source - GameTools: Development tools - CryptoSource: Encryption utilities - database: Database scripts - Script: Game scripts - rylCoder_16.02.2008_src: Legacy coder tools - GMFont, Game: Additional resources 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
91 lines
2.6 KiB
C++
91 lines
2.6 KiB
C++
#pragma once
|
|
#include "afxwin.h"
|
|
|
|
#include "XListBox.h"
|
|
#include <Network/Packet/ChatToolPacketCmd.h>
|
|
#include "afxcmn.h"
|
|
|
|
#include <map>
|
|
class CWhisperDlg; //메시지창을 모달리스로 띄워서 사용할 것임.
|
|
|
|
/** \class CChattingPage
|
|
CMonitoringSheet에 속한 페이지*/
|
|
class CChattingPage : public CPropertyPage
|
|
{
|
|
DECLARE_DYNAMIC(CChattingPage)
|
|
|
|
public:
|
|
CChattingPage();
|
|
virtual ~CChattingPage();
|
|
|
|
// 대화 상자 데이터입니다.
|
|
enum { IDD = IDD_CHATTINGPAGE };
|
|
|
|
typedef std::map<unsigned long, CWhisperDlg*> WhisperDlgMap;
|
|
typedef std::map<unsigned long, unsigned long> CharacterIDDataMap;
|
|
|
|
protected:
|
|
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 지원입니다.
|
|
|
|
DECLARE_MESSAGE_MAP()
|
|
|
|
virtual BOOL OnInitDialog();
|
|
virtual BOOL PreTranslateMessage(MSG* pMsg);
|
|
virtual BOOL DestroyWindow();
|
|
|
|
private:
|
|
|
|
CXListBox m_ctrlChatMonitorList;
|
|
CListBox m_ctrlChatTypeList;
|
|
CListBox m_ctrlServerGroupCbList;
|
|
CComboBox m_ctrlChatTypeCb;
|
|
CComboBox m_ctrlServerGroupCb;
|
|
|
|
CString m_strLoginedName;
|
|
|
|
BOOL m_bAutoScroll;
|
|
unsigned long m_sChatMessageLines;
|
|
unsigned int m_nMaxGroup;
|
|
|
|
CWhisperDlg* m_lpWhisperDlg; ///< 1대1 대화창
|
|
|
|
afx_msg void OnLbnSelchangeOpt();
|
|
afx_msg void OnBnClickedChatmsgSendBtn();
|
|
afx_msg void OnBnClickedAutoscrollChk();
|
|
afx_msg void OnBnClickedDeletechatmsgBtn();
|
|
afx_msg void OnBnClickedChatlogflushBtn();
|
|
afx_msg void OnBnClickedAuthManagerBtn();
|
|
afx_msg void OnBnClickedFlushStatlogBtn();
|
|
afx_msg void OnBnClickedCallWhisperDlg();
|
|
afx_msg void OnLbnDblclkChatmonitorList();
|
|
afx_msg void OnBnClickedGmloginedChk();
|
|
|
|
public:
|
|
|
|
unsigned short m_usLocalLang;
|
|
unsigned long m_dwAccountDlgID;
|
|
|
|
CListBox m_ctrlConnectionList; ///< 채팅서버와의 접속상태
|
|
CListCtrl m_ctrlUserStatList; ///< 동접 정보
|
|
|
|
CharacterIDDataMap m_CharacterID;
|
|
WhisperDlgMap m_WhisperDlgMap; ///< 1대1 대화창 맵
|
|
WhisperDlgMap m_AccountDlgMap; ///< 계정명 또는 UID 대화창 맵
|
|
|
|
void ParseChatData(ChatToolPkt::ChatDataSend* lpChatData, bool bIsCall = false, bool bGMSender = false);
|
|
void AddLineToChatMonitorList(unsigned char cChatType, unsigned short usLang, char* szMsg, bool bIsCall = false);
|
|
void SetManagerServerConnection();
|
|
void SetUserStat();
|
|
unsigned long GetAccountDlgID() { return m_dwAccountDlgID; };
|
|
void SetLoginedNameEdit(const CString& strLoginedName);
|
|
char* TrimTab(char* szBuffer, int nSize);
|
|
|
|
CWhisperDlg* GetWhisperDlg(unsigned long dwUID);
|
|
CWhisperDlg* GetAccountDlg(unsigned long dwDlgID);
|
|
afx_msg void OnSize(UINT nType, int cx, int cy);
|
|
afx_msg void OnBnClickedLangtypeChk();
|
|
|
|
BOOL CheckCharSet(CHAR* str, int Len);
|
|
BOOL CheckAisaLang(unsigned short usLang);
|
|
|
|
}; |