VC给控件添加变量

在控件上鼠标右击 "添加变量",添加的变量有两种类别,Control和Value。

如果添加的类别为Control,则类型为控件的类型,表示的是控件,只能调用控件的属性和方法。

如果添加的类别为Value,则类型为CString,表示的是控件上显示的文件值。

 

如:文本框

Control类别:

        CExtEdit m_EditName;

        void CNewProjectDlg::DoDataExchange(CDataExchange* pDX)
        {
              CDialog::DoDataExchange(pDX);
              DDX_Control(pDX, IDC_EDITNAME, m_EditName);

        }

        ((CEdit)m_EditName)->SetWindowText("文本值");   可以这样设置文本框的值。

也可以定义Value类别:

        CString txtName;    
        void CNewProjectDlg::DoDataExchange(CDataExchange* pDX)
        {
              CDialog::DoDataExchange(pDX);
              DDX_Text(pDX, IDC_EDITNAME, txtName);

        }

       txtName = "文本值";

       UpdataData(FALSE);

要在VC ListControl控件添加check box,你可以使用自定义绘制来实现。下面是一个简单的示例代码: 1. 首先,在资源编辑器中创建一个List Control控件。 2. 在对话框类的头文件中添加以下成员变量和消息映射: ```cpp // 头文件 class CMyDialog : public CDialogEx { // ... CListCtrl m_list; CImageList m_imageList; // ... afx_msg void OnLvnItemchangedList(NMHDR* pNMHDR, LRESULT* pResult); DECLARE_MESSAGE_MAP() }; ``` 3. 在OnInitDialog()函数中添加以下代码: ```cpp // 初始化 List Control m_list.SubclassDlgItem(IDC_LIST, this); m_list.SetExtendedStyle(LVS_EX_CHECKBOXES); // 创建图像列表以容纳 checkbox 图标 m_imageList.Create(16, 16, ILC_MASK | ILC_COLOR, 1, 1); HICON hIcon = (HICON)LoadImage(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDI_CHECKBOX), IMAGE_ICON, 16, 16, LR_DEFAULTCOLOR); m_imageList.Add(hIcon); m_list.SetImageList(&m_imageList, LVSIL_SMALL); ``` 4. 在消息映射中添加以下代码: ```cpp // 消息映射 BEGIN_MESSAGE_MAP(CMyDialog, CDialogEx) // ... ON_NOTIFY(LVN_ITEMCHANGED, IDC_LIST, &CMyDialog::OnLvnItemchangedList) END_MESSAGE_MAP() ``` 5. 实现OnLvnItemchangedList()函数: ```cpp void CMyDialog::OnLvnItemchangedList(NMHDR* pNMHDR, LRESULT* pResult) { NM_LISTVIEW* pNMListView = reinterpret_cast<NM_LISTVIEW*>(pNMHDR); // 确定是否选中了某个项目 if ((pNMListView->uChanged & LVIF_STATE) && (pNMListView->uNewState & LVIS_STATEIMAGEMASK)) { // 获取选中项目的索引 int nIndex = pNMListView->iItem; // 获取当前 checkbox 的状态 BOOL bChecked = m_list.GetCheck(nIndex); // 根据需要处理 checkbox 状态 if (bChecked) { // 处理选中状态 } else { // 处理未选中状态 } } *pResult = 0; } ``` 这样,你就可以在VC ListControl控件添加check box,并通过OnLvnItemchangedList()函数处理选中状态的变化。记得将IDC_LIST替换为你实际使用的List Control控件的ID。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值