vc++如何这一个类里面修改另一个类里面的列表控件的值

使用vc++MFC,在窗口类CXDlg里面定义了窗口类CYDlg的对象m_y和窗口类CZDlg的对象m_z,在窗口CZDlg里面有一个列表控件ID为IDC_ASS_LIS... 使用vc++MFC,在窗口类CXDlg里面定义了窗口类CYDlg的对象m_y和窗口类CZDlg的对象m_z,在窗口CZDlg里面有一个列表控件ID为IDC_ASS_LIST,关联的变量为m_listcontrl,在类CYDlg双击列表框事件CYDlg::OnDblclkList1里面定义了变量m_ed,希望在事件CYDlg::OnDblclkList1里面写一句代码,使列表IDC_ASS_LIST的第2个item的第3个subitem项的值等于m_ed.
直接写m_listcontrl.SetItemText(2,3,m_ed); 提示错误"m_listcontrl": undeclared identifier,left of '.SetItemText' must have class/struct/union type.
如果这句程序改成((CListCtrl*)GetDlgItem(IDC_ASS_LIST))->SetItemText(2,3,m_ed);的话,编译链接正常,运行后出错,该内存不能为read。去掉这句话后能正常运行,实现不了我的要求:使列表IDC_ASS_LIST的第2个item的第3个subitem项的值等于m_ed。
展开
 我来答
力王历史
高赞答主

2010-08-17 · 点赞后记得关注哦
知道顶级答主
回答量:12.5万
采纳率:45%
帮助的人:4.3亿
展开全部
朋友,电脑出现:内存不能为read,原因总结起来,有以下方面,偶尔出现,点:取消,即可!
(答案原创,本答案原作者:力王历史)
1.电脑中了木马或者有病毒在干扰!
试试:杀毒软件,360安全卫士+360杀毒双引擎版,或者金山卫士+金山毒霸,
建议:修复“高危”和“重要”漏洞!使用“木马云查杀”和“360杀毒”,
“全盘扫描”和“自定义扫描”病毒和木马,删除后,重启电脑!
开机后,点开“隔离|恢复”,找到木马和病毒,彻底删除!
2.如果第1种方法不行,下载个“360系统急救箱”,或者“金山系统急救
箱”!
先“全盘查杀”,查杀完毕,删除“可疑自启动项”和木马,再重启电脑!
然后点开“隔离|恢复”区,找到“可疑自启动项”和木马,点“彻底删除”!
再点开“修复”,“全选”,再点“修复”!
3.用“360安全卫士”,“系统修复”,一键修复!再:“清理插件”,立即扫描,立即清理:恶评插件!
4.你下载的“播放器”,或“聊天软件”,或“IE浏览器”,或者“驱动”,或
“游戏”的程序不稳定,或者“版本太旧”!建议卸掉,下载新的,或将其升级
为“最新版本”!
5.软件冲突,你安装了两款或两款以上的同类软件(如:两款播放器,两款
qq,或多款浏览器,多款杀毒软件,多款网游等等)!它们在一起不“兼容”,
卸掉“多余”的那一款!
6.卸载方法:你在电脑左下角“开始”菜单里找到“强力卸载电脑上的软件”,找到多余的那款卸掉! 卸完了再“强力清扫”!
或者“360安全卫士”,“软件管家”,点开,第4项:“软件卸载”,点开,找
到“多余”和“类似”的软件卸载!如:“播放器”,点开,留下“暴风”,卸载“快播”!如:“下载”:点开,留下“迅雷”,卸载“快车”!(看准了再卸,别把有用的卸了)
7.如果还是不行,去网上下载一个“read修复工具”,修复试试!
8.再不行,重启电脑,开机后按“F8”,回车,回车,进到“安全模式”里,“高级启动选项”,找到:“最后一次正确配置”,按下去试试,看看效果如何!
9.再不行,开始菜单,运行 ,输入cmd, 回车,在命令提示符下输入(复制即可) :
for %1 in (%windir%\system32\*.dll) do regsvr32.exe /s %1
粘贴,回车,直到屏幕滚动停止为止,重启电脑!
10.实在不行就“一键还原”系统或“重装系统”!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2010-08-09
展开全部
一个比较笨的方法
类CYDlg 增加定义:

CXDlg * parent;

定义一个函数
void CYDlg::InitDialog(CXDlg *pParent)
{
parent=pParent;//父窗口指针存放
}

注意在CXDlg内调用m_y时,先执行

m_y.InitDialog(this);
再执行
m_y.DoModal() ;

然后在
CYDlg::OnDblclkList1
执行

parent->m_z.m_listcontrl.SetItemText(item,3,m_ed);即可
item 为第2个item值。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xfhovey
2010-08-03 · TA获得超过413个赞
知道小有建树答主
回答量:199
采纳率:0%
帮助的人:150万
展开全部
m_listcontrl.SetItemText(2,3,m_ed);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式