如题,单文档多视图应用程序,
ListView设置:
---------------------------------------------------------
CListCtrl& theList=GetListCtrl();
theList.SetExtendedStyle(LVS_REPORT|LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES|LVS_EX_HEADERDRAGDROP);
theList.ModifyStyle(LVS_TYPEMASK,LVS_REPORT&LVS_TYPEMASK);
----------------------------------------------------------------
ListView列:
---------------------------------------------------------------
CListCtrl& theList=GetListCtrl();
theList.InsertColumn(0,"ID",LVCFMT_LEFT,30);
theList.InsertColumn(1,"日期",LVCFMT_LEFT,60);
theList.InsertColumn(2,"时间",LVCFMT_LEFT,60);
theList.InsertColumn(3,"日志内容",LVCFMT_LEFT,500);
插入行:
-----------------------------------------------------------------
CListCtrl& theList=GetListCtrl();
int iLogNum=theList.GetItemCount();/////////////////////出错处!!!!
CString str;
int aa=theList.InsertItem(iLogNum,itoa(iLogNum,str.GetBuffer(10),10));
theList.SetItemText(aa,1,CTime::GetCurrentTime().Format("%Y-%m-%d"));
theList.SetItemText(aa,2,CTime::GetCurrentTime().Format("%H:%M:%S"));
theList.SetItemText(aa,3,content);
请指教,不胜感激!!
ListView设置:
---------------------------------------------------------
CListCtrl& theList=GetListCtrl();
theList.SetExtendedStyle(LVS_REPORT|LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES|LVS_EX_HEADERDRAGDROP);
theList.ModifyStyle(LVS_TYPEMASK,LVS_REPORT&LVS_TYPEMASK);
----------------------------------------------------------------
ListView列:
---------------------------------------------------------------
CListCtrl& theList=GetListCtrl();
theList.InsertColumn(0,"ID",LVCFMT_LEFT,30);
theList.InsertColumn(1,"日期",LVCFMT_LEFT,60);
theList.InsertColumn(2,"时间",LVCFMT_LEFT,60);
theList.InsertColumn(3,"日志内容",LVCFMT_LEFT,500);
插入行:
-----------------------------------------------------------------
CListCtrl& theList=GetListCtrl();
int iLogNum=theList.GetItemCount();/////////////////////出错处!!!!
CString str;
int aa=theList.InsertItem(iLogNum,itoa(iLogNum,str.GetBuffer(10),10));
theList.SetItemText(aa,1,CTime::GetCurrentTime().Format("%Y-%m-%d"));
theList.SetItemText(aa,2,CTime::GetCurrentTime().Format("%H:%M:%S"));
theList.SetItemText(aa,3,content);
请指教,不胜感激!!
解决方案 »
- mlloc()动态分配带指针的结构体内存,牛人看过来
- list view 中如何获取列的数量
- 初学者提问:
- 兄弟们,继续帮忙!我想写个ListBox和ComboBox控件,想让各位给提提意见!来者有分!
- 这个 i 为什么超出有效范围 仍然有效呢?
- 为什么kebbd_event在一些程序里面没有效果(比如剑侠情愿)?
- 如何控制LAN中其它机器运行程序
- 双向通信用winsock api实现时应改用什么样的结构?
- 怎样判断PCI插槽上有卡
- 什么地方有关于makefile的资料
- 我用getsavefilename打开保存文件的对话框后如何获取我修改后的保存文件名!
- 怎样使Combox传递int值,立即结贴
只有两个视图,应该没有搞错
改为:
int iLogNum=ListView_GetItemCount(theList.GetSafeHwnd());
后,本句通过,但是在INSERTITEM的时候出错!
??标题显示了吗就是theList.InsertColumn(0,"ID",LVCFMT_LEFT,30);
theList.InsertColumn(1,"日期",LVCFMT_LEFT,60);
theList.InsertColumn(2,"时间",LVCFMT_LEFT,60);
theList.InsertColumn(3,"日志内容",LVCFMT_LEFT,500);这个有吗??
程序中使用两个视图,分别在两个类中,实现用菜单实现两个视图的切换.
以上函数是在第二个视图中,在第一视图类中好像是可以用GetItemCount()的,很奇怪,两个视图结构基本上是完全一致的啊
请赐教!~~~~~
标题正常显示!!
问题原因是:使用InsertItem()在初始化LISTVIEW之前,因此产生错误,但是不知道如何解决,我使用了两个视图,view1和view2,我在VIEW1的OnInitialUpdate()中向VIEW2中插入数据,但此时VIEW2尚未初始化,因此出错,请问向VIEW2插入数据的代码应该写在VIEW1类的哪个函数中??语文学得不好,不知道表达得够不够清楚,请大侠指教~~~
我也有这个想法,现在正在尝试,但总觉得这样不能解决根本问题,假如我有三个视图,那不是要在第三个视图的OnInitialUpdate中调用吗?觉得有点太被动了!
因为你的view1和view2是应该没有联系的(应该不会是在view1中创建view2的吧),或者说,view1是无法知道view2是什么时候创建的
只有创建view2的那个窗口,是可以知道view2是啥时候创建的啊那么这样的话,你用view1去给view2添加
,就有可能view2还没有创建好
除非你在创建view2的时候,告诉view1,那是可以的啊
VIEW1和VIEW2确实是没有什么关系的
那如何在VIEW2创建后给告诉VIEW1呢?
这也是一个办法反正你主框架里面有view1,view2的对象的,操作应该也是蛮简单的啊