fast/Plugin/Plc/CEXVirtualListCtrl.h

76 lines
1.6 KiB
C
Raw Normal View History

2025-01-20 10:30:01 +08:00
#pragma once
#include <afxwin.h>
#include <vector>
#include <string>
#include "CEXMemFileQueue.h"
struct MyListItem {
int id;
CString name;
CString date;
};
class CEXVirtualListCtrl : public CListCtrl {
DECLARE_DYNAMIC(CEXVirtualListCtrl)
public:
CEXVirtualListCtrl();
virtual ~CEXVirtualListCtrl();
//void Initialize();
void SetData(CEXMemFileQueue* pQueue);
void StartAutoRefresh(int lMSecond);
void StopAutoRefresh();
void RefreshShow();
protected:
DECLARE_MESSAGE_MAP()
afx_msg void OnLvnGetdispinfo(NMHDR* pNMHDR, LRESULT* pResult);
afx_msg void OnNMCustomdraw(NMHDR* pNMHDR, LRESULT* pResult);
private:
CEXMemFileQueue* m_pQueueData;
int m_lOldCount;
public:
afx_msg BOOL OnEraseBkgnd(CDC* pDC);
virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
virtual BOOL Create(DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID);
afx_msg void OnTimer(UINT_PTR nIDEvent);
};
// CEXVirtualListDlg 对话框
class CEXVirtualListDlg : public CDialogEx
{
DECLARE_DYNAMIC(CEXVirtualListDlg)
public:
CEXVirtualListDlg(CWnd* pParent = nullptr); // 标准构造函数
virtual ~CEXVirtualListDlg();
//给虚拟列表关联数据
void SetData(CEXMemFileQueue* pQueue);
// 对话框数据
#ifdef AFX_DESIGN_TIME
enum { IDD = IDD_CEXVirtualListDlg };
#endif
virtual BOOL OnInitDialog();
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持
DECLARE_MESSAGE_MAP()
afx_msg void OnBnClickedOk();
afx_msg void OnBnClickedCancel();
afx_msg void OnSize(UINT nType, int cx, int cy);
private:
CEXVirtualListCtrl* m_pstVirtualList;
};