如何将对话框中的数据显示在视图中的列表框中 我在CDialog中添加了几个Edit控件,和一个按钮(添加),现在想通过点击按钮将Edit中的数据显示在视图上的ListCtrl 中,不知道该如何传递值。请求大家的帮助,当点击添加按钮时能够显示输入的数据.... 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 最简单的方法就是 对你的按钮控件添加一个消息处理函数 OnLbuttonDown(){ sendMessage(.......);}数据多的话 就放在一个数据结构里面 然后发送过去 既然是模态对话框,那么你可以向视图类发送自定义消息,将对话框中的EDIT中的数据传过去就行了。 你把你的数据添加到CArray或CList中,然后再读取到列表控件中不就行了 你的控件是CListCtrl还是CListBox啊? 就是在按钮的消息函数中不知怎么实现,由于才开始学习MFC请大家指教 给段例子给你:void CnbnbDlg::OnBnClickedButton1(){ CListCtrl *pList=(CListCtrl *)GetDlgItem(IDC_LIST1); CString str; GetDlgItemText(IDC_EDIT1,str); pList->InsertColumn(0,_T("第一列")); pList->InsertItem(0,_T("第一行")); pList->SetItemText(0,0,str);} 正解 还有个方法:将变量CString str与EDIT控件关联 点击按钮 UPDATEDATA 获得 输入框的值然后 list控件INsertItem就可以了 假设你有五个EDIT,ID是从IDC_EDIT1到IDC_EDIT5,而且ID必须保证是连续的。IDC_LIST1是列表控件ID。下面代码可以实现你要的功能:CListCtrl *pList=(CListCtrl *)GetDlgItem(IDC_LIST1); pList->InsertColumn(0,_T("数据")); int i; CString str; for( i=IDC_EDIT1;i<=IDC_EDIT5;i++) { GetDlgItemText(i,str); pList->InsertItem(0,_T("数据")); pList->SetItemText(0,0,str); } 你的意思是多个EDIT中的数据放在一行? VS2010窗口布局问题 找不到标识问题!!!! 关于CARCHIVE CSOCKETFILE CSOCKET与多线程CSOCKET的问题 USB设备的识别问题 如何在程序中修改另一个特定EXE程序的资源、比如字符串 找不到IHTMLwindow3的定义? 有什么办法跟踪SendMessage后的执行过程 dispinterface是个什么东西呀! 动态创建子窗体 我想在linux服务机上不断的取信息,然后在windows客户机上不断的取这些信息,怎么实现? 求助~MFC如何实现在对话框中输入坐标,根据坐标画图? 求一存储过程写法
OnLbuttonDown()
{
sendMessage(.......);
}
数据多的话 就放在一个数据结构里面 然后发送过去
void CnbnbDlg::OnBnClickedButton1()
{
CListCtrl *pList=(CListCtrl *)GetDlgItem(IDC_LIST1);
CString str;
GetDlgItemText(IDC_EDIT1,str);
pList->InsertColumn(0,_T("第一列"));
pList->InsertItem(0,_T("第一行"));
pList->SetItemText(0,0,str);}
正解 还有个方法:将变量CString str与EDIT控件关联 点击按钮 UPDATEDATA 获得 输入框的值
然后 list控件INsertItem就可以了
CListCtrl *pList=(CListCtrl *)GetDlgItem(IDC_LIST1);
pList->InsertColumn(0,_T("数据")); int i;
CString str;
for( i=IDC_EDIT1;i<=IDC_EDIT5;i++)
{
GetDlgItemText(i,str);
pList->InsertItem(0,_T("数据"));
pList->SetItemText(0,0,str);
}