mfc如何将复选框勾选后,把里面内容实时传到列表框中?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mfc如何将复选框勾选后,把里面内容实时传到列表框中?相关的知识,希望对你有一定的参考价值。
复选框勾选了,就把内容复制的列表框中。不够选,列表框就不会显示。然后把列表框中的值保存,下次打开的时候保存历史记录。
首先建立类向导,只关联按钮,和显示的那俩个!你把复选框在属性的常规里选择组,
for(int i=0;i<6;i++)
CButton* but=(CButton*)GetDlgItem(IDC_CHECK3+i);
if(but->GetCheck()==1)
but->GetWindowText(text); str+=text+"、";
str=str.Left(str.GetLength()-2);
m_edit3.SetWindowText(str);
CButton是按钮关联变量control
m_edit3是显示用的。你要用的应该是列表框!
给我邮箱直接发过去个程序自己看下!追问
⑦8⑥19②8⑤9
@qq.com
参考技术A 有什么样的要求?MFC编程 -- 保存和读取列表框内容
一、新建一个结构体
在pch.h新建一个结构体,将列表里面的一行内容当做一个结构进行保存
struct 列表结构
TCHAR 专辑[20];
TCHAR 主打歌[20];
int 年份;
TCHAR 时长[20];
;
二、将列表的内容保存到文件
HANDLE 文件句柄 = CreateFile(_T("./aiyou.txt"), GENERIC_WRITE,FILE_SHARE_READ,NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL,NULL);
//1、保存的文件名字;2、访问模式(GENERIC_READ);3、共享模式;4、指向安全属性的指针
//5、如何创建文件,覆盖前面的文件(CREATE_ALWAYS )6、文件属性,默认;7、用于复制文件句柄
CListCtrl* 列表句柄 = (CListCtrl*)GetDlgItem(IDC_LIST3);
int i = -1;
int 行号 = 列表句柄->GetItemCount();
列表结构 列表;
while (++i<行号)
_tcscpy(列表.专辑, 列表句柄->GetItemText(i, 0));
_tcscpy(列表.主打歌, 列表句柄->GetItemText(i, 1));
列表.年份 = _tstoi(列表句柄->GetItemText(i,2));
_tcscpy(列表.时长, 列表句柄->GetItemText(i, 1));
WriteFile(文件句柄,&列表,sizeof(列表),NULL,NULL);
//1、文件句柄;2、写入的缓冲区;3要写入的大小;
CloseHandle(文件句柄);
三、读取列表的内容
1、在头文件声明一下加载函数
class C管理系统Dlg : public CDialogEx
// 构造
void 读取信息();
public:
C管理系统Dlg(CWnd* pParent = nullptr); // 标准构造函数
2、编写读取信息的代码
HANDLE 文件句柄 = CreateFile(_T("./aiyou.txt"), GENERIC_READ, FILE_SHARE_READ, NULL,
OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
CListCtrl* 列表句柄 = (CListCtrl*)GetDlgItem(IDC_LIST3);
列表句柄->DeleteAllItems();//清空列表
列表结构 列表;
DWORD 实际传入字节数;
int 行号= 列表句柄->GetItemCount();
CString 格式化内容;
while (ReadFile(文件句柄,&列表,sizeof(列表), &实际传入字节数,NULL) && 实际传入字节数 == sizeof(列表))
//当实际传入的字节数为0时退出
列表句柄->InsertItem(行号, 列表.专辑);
列表句柄->SetItemText(行号, 1,列表.专辑);
格式化内容.Format(_T("%d"), 列表.年份);
列表句柄->SetItemText(行号, 2, 格式化内容);
列表句柄->SetItemText(行号, 3, 列表.时长);
++行号;
CloseHandle(文件句柄);
四、运行效果
五、项目下载
关注网路搞笑编程公众号,后台回复:20220527
以上是关于mfc如何将复选框勾选后,把里面内容实时传到列表框中?的主要内容,如果未能解决你的问题,请参考以下文章
怎么用MFC,将复选框选中的文字在编辑框中显示出来,例如下面的图片,就是说将选中的课程在编辑框中显示出