#pragma once
|
#include "afxwin.h"
|
#include <vector>
|
#include <string>
|
|
// 客户端信息结构
|
struct ClientInfo {
|
std::string ip;
|
uint16_t port;
|
bool versionOk;
|
std::string status;
|
std::string connectTime;
|
};
|
|
// CClientListDlg 对话框
|
|
class CClientListDlg : public CDialogEx
|
{
|
DECLARE_DYNAMIC(CClientListDlg)
|
|
public:
|
CClientListDlg(CWnd* pParent = nullptr); // 标准构造函数
|
virtual ~CClientListDlg();
|
|
// 对话框数据
|
#ifdef AFX_DESIGN_TIME
|
enum { IDD = IDD_DIALOG_CLIENT_LIST };
|
#endif
|
|
protected:
|
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持
|
|
DECLARE_MESSAGE_MAP()
|
|
public:
|
virtual BOOL OnInitDialog();
|
afx_msg void OnBnClickedRefresh();
|
afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
|
|
private:
|
void RefreshClientList();
|
void UpdateClientList(const std::vector<ClientInfo>& clients);
|
|
private:
|
CListCtrl m_listClients;
|
std::vector<ClientInfo> m_clients;
|
};
|