
1、为界面添加一个List Control控件。
2、更改这个控件的view属性为Report
3、为这个控件添加一个控制型变量 假设为m_ctlList;
4、在界面的初始化函数OnInitDialog()函数中初始化这个控件主要是插入列表的头,主要调用
int InsertColumn( int nCol, LPCTSTR lpszColumnHeading, int nFormat = LVCFMT_LEFT, int nWidth = -1, int nSubItem = -1 );这个函数。
其中 nCol是列的索引,从0开始 ;lpszColumnHeading 列的名称 ;nFormat 文字的摆放方式;nWidth 宽的度度。
如:
m_ctlListInsertColumn(0,"姓名",LVCFMT_CENTER,60);//第一列,名称为姓名,文字居中显示,列的宽度为60像素
m_ctlListInsertColumn(1,"性别",LVCFMT_CENTER,60);//第二列,名称为性别,文字居中显示,列的宽度为60像素
5在界面中添加一个“添加按钮”,在按钮的响应函数中向列表控件m_ctlList插入数据主要代码如下。
UpdateData(TRUE);//将界面的数据更新到对应的变量中
int count=m_ctlListGetItemCount();//获取当前存在的数据总量
m_ctlListInsertItem(count,"张三");//插入一行
m_ctlListSetItemText(count,1,"男");//改变列2的显示文字
选择文件可以用openfileDialog控件,其FileName属性就是所选中文件的路径;选择文件夹用FolderBrowserDialog控件,其SelectedPath属性就是所选中文件夹的路径。
既然你是要在子窗口显示进度条,那天在资源中编辑对话框嘛,添加了进度条,然后为这个对话框创建一个类,在对话框类中的函数中处理你的进度条啊,在DoMoal之后自然会执行进度条的代码了,比如你可以再InitDIalog中初始化进度条为50%等等
错误提示是说函数不能接受两个参数。这是因为命名控件造成的。MFC中很多函数名跟SDK里的都是重复的。如果你在MFC中要用API那么建议养成良好习惯在函数前面加:: 也就是改为"::GetDlgItemText(xxx,xxx)"对于第一个句柄参数你可以用this指针。::GetDlgItemText(this->m_hWnd,xxx,xxx,xxx)第二个参数是控件ID,第三个是接受的字符的缓存指针,第四个是最大接受几个字符的个数;如果你省略了"::"那么默认是使用的 MFC的CWnd类的方法。可以这样调用:CString str;this->GetDlgItemText(IDC_TEXT,str); 补充: 完蛋了,现在才发现原来已经回答了好几个你的相关问题,不知道会不会被举报刷分。 追问: 不好意思,还是不行。说明下:我把上面的GetDlgItemText和SetDlgItemText函数写在线程里了。为什么不行呢?还是有错误提示!谢谢! 回答: 错误提示是什么你也不贴上来 不过我已经大致猜出来了 既然你是写在线程函数里 那么错误提示 应该是说this不是静态变量什么的。当然啊,线程函数是不能使用类的成员的。解决方法有两个第一:定义一个全局变量保存窗口句柄,在线程函数里用全局变量。第二:把类的指针当做参数传递给线程函数。你创建线程的时候 CreateThread(NULL,0,NULL,this,0,NULL);线程处理函数:DWORD WINAPI ThreadPro(LPVOID lpvoid){ xxxxxx p = (xxxxxx )lpvoid;//关键就是这句代码了,把传进来的参数转换成类指针。"XXXXXX"是你的类名。
以上就是关于mfc如何将编辑框的内容读取到列表控件中全部的内容,包括:mfc如何将编辑框的内容读取到列表控件中、MFC 编程的控件mfc editbrowser control。怎么获取该控件所选中文件的值,即选中文件的路径。vs2010编译器、mfc中怎么获取子窗口中控件的指针等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)