请问打开对话框后,上面的listctrl控件要显示出document中的一些数据。
是因该这样
(1)CListCtrl *pList=(CListCtrl *)GetDlgItem(IDC_LIST);
直接通过pList操作。(2)还是为IDC_LIST加一个对话框的CListCtrl成员变量m_List,通过对m_List操作,然后用DoDataExchange反映到IDC_LIST上?如果是(2),具体改如何做?我是新人,望大家指教。
是因该这样
(1)CListCtrl *pList=(CListCtrl *)GetDlgItem(IDC_LIST);
直接通过pList操作。(2)还是为IDC_LIST加一个对话框的CListCtrl成员变量m_List,通过对m_List操作,然后用DoDataExchange反映到IDC_LIST上?如果是(2),具体改如何做?我是新人,望大家指教。
如果要频繁的操作控件的话使用(2),偶尔使用一下的话用(1)比较好
对于如何添加针对IDC_LIST的成员变量我还是知道的,我想问的是:如果用方式(2),对m_List的操作如何反应到控件IDC_LIST上去?要自己写DoDataExchange函数么?例如:
我在程序开始的时候就从document里面取出所有数据insert到m_List,但是DoModal()显示出的IDC_LIST上并没有这些数据。然而对话框中一个按钮的代码中修改了m_List,却马上显示再IDC_LIST上了。
能够给我讲讲m_List和IDC_LIST之间如何相互作用的么?
(1)是在代码运行过程中取得listctrl对象并进行操作通过代码:
CListCtrl *pList=(CListCtrl *)GetDlgItem(IDC_LIST);
(2)是在classwizzard中把IDC_LIST直接生成m_list类似的对象。
当生成之后两者的功能是一致的。
你之所以不成功可能是你在对pList进行操作之后,系统有调用了
对于m_list操作的动作。覆盖了你一开始的操作。
操作方式上一般总是先insertcolumn后insertitem
2.m_list......