ListView界面更新
程序是一个单文档分割窗体:
------------------------------
| | | |
| | | 3 |
| 1 | 2 |----------------|
| | | |
| | | 4 |
| | | |
|-----------------------------
窗体4是一个CListView ,我有一个全局回调函数,里面会得到一些信息,这些信息要在
4中显示出来.得到数据后,首先我在着个全局回调函数中如下得到4窗的指针并调用4
窗体类的一个用来更新4界面列表的函数UpdateReceiveList:
((CReceiveView*)AfxGetMainWnd())->UpdateReceiveList();
UpdateReceiveList()函数内容如下:
//界面更新
CListCtrl& ListCtrl = GetListCtrl();
int nItem = ListCtrl.InsertItem(0xffff,(_bstr_t)"123");
ListCtrl.SetItem(nItem,1,1,(_bstr_t)"接收测试",NULL,0,0,0);
ListCtrl.SetItem(nItem,2,1,(_bstr_t)"2004-07-07",NULL,0,0,0);
ListCtrl.SetItem(nItem,3,1,(_bstr_t)"成功接收",NULL,0,0,0);
注:上面的插入内容在实际使用时是来自全局回调函数,通过参数传给UpdateReceiveList()
这里忽略掉暂时.
这样做,单步跟踪,程序不会异常出错,也可以正确得到4窗的指针和ListCtrl的指针,
但就是界面内容不会更新. 所以我想改成SendMessage实验一下.
另:得到4 窗的指针,我还用过
CReceiveView *pView = (CReceiveView *)(((CMainFrame *)AfxGetMainWnd())->m_wndSplitter1.GetPane(1,0));
用这种方法,如果代码写在MainFrame中可以得到,但是用在全局回调函数中程序执行
到这里就会异常崩溃
希望能得到大虾的帮助.thx
我所希望的就是将全局回调函数中内容在4窗列表中显示出来.