Files
Client/Server/ManageTool/MonitoringTool/ChattingPage.h
LGram16 dd97ddec92 Restructure repository to include all source folders
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>
2025-11-29 20:17:20 +09:00

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);
};