怎么给对话框类CListCtrl赋初值
时间: 2023-12-06 18:42:31 浏览: 81
首先,需要在对话框资源中添加一个 List Control 控件。然后,在对话框类中添加一个成员变量,类型为 CListCtrl,例如:
```c++
class CMyDialog : public CDialog
{
public:
CMyDialog(CWnd* pParent = nullptr);
// 对话框数据
#ifdef AFX_DESIGN_TIME
enum { IDD = IDD_MYDIALOG };
#endif
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持
DECLARE_MESSAGE_MAP()
private:
CListCtrl m_listCtrl;
};
```
在 DoDataExchange() 函数中关联控件和成员变量:
```c++
void CMyDialog::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Control(pDX, IDC_LIST_CTRL, m_listCtrl);
}
```
在 OnInitDialog() 函数中给 List Control 控件赋初值,例如:
```c++
BOOL CMyDialog::OnInitDialog()
{
CDialog::OnInitDialog();
// 设置 List Control 控件样式
DWORD dwStyle = m_listCtrl.GetExtendedStyle();
dwStyle |= LVS_EX_FULLROWSELECT; // 选中整行
dwStyle |= LVS_EX_GRIDLINES; // 显示网格线
m_listCtrl.SetExtendedStyle(dwStyle);
// 添加列头
m_listCtrl.InsertColumn(0, _T("列1"), LVCFMT_LEFT, 100);
m_listCtrl.InsertColumn(1, _T("列2"), LVCFMT_LEFT, 100);
// 添加行数据
m_listCtrl.InsertItem(0, _T("第1行"));
m_listCtrl.SetItemText(0, 1, _T("第1行的第2列"));
m_listCtrl.InsertItem(1, _T("第2行"));
m_listCtrl.SetItemText(1, 1, _T("第2行的第2列"));
m_listCtrl.InsertItem(2, _T("第3行"));
m_listCtrl.SetItemText(2, 1, _T("第3行的第2列"));
return TRUE;
}
```
以上代码会在对话框初始化时添加一些列头和行数据,可以根据需求修改代码。
阅读全文
相关推荐

















