C++ 跨类跨成员函数访问问题
本帖最后由 无符号整形 于 2016-7-9 22:24 编辑MFC,想弄1个下载回调,下载回调要控制进度条。
结构是下面这样的
Dlg类
->进度条变量
->消息函数
->继承另一个类(以public方式)
另一个类(要访问进度条变量的函数)
->下载回调,要访问进度条
->继承另一个类(以public方式)
注意:进度条变量只能在Dlg类的成员函数有效
我试了一下下面的做法(静态访问,根本不行 )
CMFCDlg cDlg;
cDlg.m_pro.SetPos(100);//这样完全不行
这样Dlg类的进度条变量完全失效
我就想到了goto语句,goto到消息响应函数(消息函数在Dlg类里面,因为是成员函数可以直接访问),可是也是不行啊!这是跨类跨成员函数跳跃啊!会有类似的提示:
谁有办法访问Dlg类的控制条啊!已经是public属性了!
还有就是继承也用不了啊!这个类已经继承了一个类了!谁帮帮我啊!
这个是工程
有回复奖励请不要灌水!灌水者扣双倍鱼币! 是不是缺少什么头文件, 我MFC学的很浅只是简单猜测 zzk176 发表于 2016-7-9 18:53
是不是缺少什么头文件, 我MFC学的很浅只是简单猜测
不可能啊 无符号整形 发表于 2016-7-9 19:06
不可能啊
好吧, 你能把整个工程放出来吗, 一张图片貌似很难看出什么 zzk176 发表于 2016-7-9 19:52
好吧, 你能把整个工程放出来吗, 一张图片貌似很难看出什么
加上了,你看看吧 本帖最后由 2548827329 于 2016-7-9 22:06 编辑
没看懂你的程序,但是加进度调你可以定义一个全局变量啊,
int g_nPos = 0;
Settimer(1000);
m_pro.SetRange(0, 100);
然后再你的下载类中进行g_nPos++;
在OnTimer中进行
m_pro.SetPos(g_nPos);
这样应该可以实现进度条的自动加载了吧
再顺便说一下,楼主的命名风格很不好,然后工程名最好用英文名 2548827329 发表于 2016-7-9 21:56
没看懂你的程序,但是加进度调你可以定义一个全局变量啊,
int g_nPos = 0;
没法采纳啊,对不起啊,已经给你加分了 2548827329 发表于 2016-7-9 22:09
再顺便说一下,楼主的命名风格很不好,然后工程名最好用英文名
谢谢你给我提供了使用定时器的思路!
页:
[1]