-
-
[求助]C#中ListView控件和C++dll交互时的问题
-
发表于:
2018-6-8 16:29
2969
-
[求助]C#中ListView控件和C++dll交互时的问题
原帖发在CSDN的C#论坛,但没有人给出有用的回复,所以再这里请教下大家
大家好,我界面部分是使用的C#的ListView,调用C++的dll中的方法,用Win32 API的SendMessage向
ListView中插入行,并且插入是成功的,但是C#中获取不到插入的item,界面其实已经显示出来
数据了,但C# ListView中Item.Count的值为0,不知道是否有谁遇到过类似问题或者说知道怎么解决,
还望不吝赐教,谢谢!
下面是dll中的C测试代码
// 插入列
LVCOLUMN col = { 0 };
col.mask = LVCF_TEXT | LVCF_WIDTH;
col.pszText = L"Test";
col.cx = 120;
::SendMessageW((HWND)hListView, LVM_INSERTCOLUMNW, NULL, (LPARAM)&col);
// 只添加一行数据
LVITEMW item = { 0 };
item.mask = LVIF_TEXT;
item.iItem = 0;
::SendMessageW((HWND)hListView, LVM_INSERTITEMW, NULL, (LPARAM)&item); // 插入一行
item.pszText = L"Test Value";
item.iSubItem = 0;
::SendMessageW((HWND)hListView, LVM_SETITEMTEXTW, NULL, (LPARAM)&item);
图片如下:
C# 弹框显示列和行都是0,也就是Column和Item都为空,但界面已经存在数据,
不知道怎么把这个数据和Item集合关联起来
MessageBox.Show(lv.Columns.Count.ToString());
MessageBox.Show(lv.Items.Count.ToString());
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)