您的位置:程序门 -> vc/mfc -> 界面



如何高效的将界面上的数据写到一个定义好的结构里去?


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


如何高效的将界面上的数据写到一个定义好的结构里去?
发表于:2008-01-05 21:35:11 楼主
我的程序里,有个ui,上面是以一个对话框为主窗口的,上面有很多edit控件,里面显示了很多数据,我想把这个数据写到一个结构里?有没有快捷的方法?
我定义的结构是这样的"
struct   data
{
      char   data[16];
};
这样把edit控件里的数据依次读到这个结构里.
是采用一个个读进去的方式吗?
发表于:2008-01-06 00:53:261楼 得分:0
把edit控件定义成一个数组,我以前在vb下这么用过,不过在vc下还真没有用过,我记得好像控件里面有个group属性,该属性可以把一组控件定义在一个group里面。
另外,感觉你定义的结构不是对应多个控件啊?你定义的结构不就是一个字符串吗?感觉一个字符串就能从一个edit控件里面获取数据啊。
发表于:2008-01-07 12:48:142楼 得分:0
vb里跟c++差很多,没有这样的属性。
请高人再提点意见。
发表于:2008-01-13 20:55:023楼 得分:0
可以通过消息on_command_range将这些edit控件的id放到一起,然后再用switch结构去处理这些控件的实现
发表于:2008-01-13 21:00:504楼 得分:0
用链表
发表于:2008-01-13 21:01:395楼 得分:0
stl做的那么好,干嘛不用
发表于:2008-01-13 21:15:566楼 得分:0
这些数据都是同一个类型的..?
---
如果是同一个类型的
方法比较多了:
carray
cstringarray
vector
:
:


还有就是数组..
发表于:2008-01-14 09:06:587楼 得分:0
顶楼上
发表于:2008-01-14 09:30:058楼 得分:0
vector <cstring>
...
发表于:2008-01-14 09:35:559楼 得分:0
你这个结构不就是个字符串吗?只能对应一个控件呀
发表于:2008-01-16 21:42:4610楼 得分:0
是啊,如何实现呢?
发表于:2008-01-17 03:07:4711楼 得分:0
在类中声明数组(或结构,同理)
cstring   m_t[3];
修改以下内容:
ctestadlg::ctestadlg(cwnd*   pparent   /*=null*/)
:   cdialog(ctestadlg::idd,   pparent)
{
//{{afx_data_init(ctestadlg)
m_t[0]   =   _t("");
m_t[1]   =   _t("");
m_t[2]   =   _t("");
//}}afx_data_init
//   note   that   loadicon   does   not   require   a   subsequent   destroyicon   in   win32
m_hicon   =   afxgetapp()-> loadicon(idr_mainframe);
}

void   ctestadlg::dodataexchange(cdataexchange*   pdx)
{
cdialog::dodataexchange(pdx);
//{{afx_data_map(ctestadlg)
ddx_text(pdx,   idc_edit1,   m_t[0]);
ddx_text(pdx,   idc_edit2,   m_t[1]);
ddx_text(pdx,   idc_edit3,   m_t[2]);
//}}afx_data_map
}

调用updatedata(true),ok了


快速检索

最新资讯
热门点击