MFC反复重绘的问题!求思想~ 大仙帮帮忙!!
是这样的我的自绘窗口的最小化最大化关闭按钮都是自己自绘的,移进按钮盒移出按钮都是靠重绘函数不断加载他们来完成,因为是静态的我可以不用每次都new了,不断加载就可以,但是他...
是这样的 我的自绘窗口 的最小化 最大化 关闭按钮都是自己自绘的 ,移进按钮盒移出按钮都是靠重绘函数不断加载他们来完成,因为是静态的我可以不用每次都new了,不断加载就可以,但是他们我不知道在哪里初始化! 在类中报错说:只有静态的常量成员才可以在类中初始化!! 这个问题该如何解决???大仙求解!!!!!
static CDC* pDisplayMemDC=new CDC;
static CBitmap* pBitmap = new CBitmap; 展开
static CDC* pDisplayMemDC=new CDC;
static CBitmap* pBitmap = new CBitmap; 展开
3个回答
展开全部
你这两句
static CDC* pDisplayMemDC=new CDC;
static CBitmap* pBitmap = new CBitmap;
是在类中的?
是的话,试试改为:
类中
static CDC* pDisplayMemDC;
static CBitmap* pBitmap;
类外
CDC* CXXX::pDisplayMemDC = new CDC;
CBitmap* CXXX::pBitmap = new CBitmap;
其中CXXX是类名
另外几点建议:
1.不知道的查MSDN,找到MSDN网站,输入类名或者不知的函数名,慢慢看解释。
2.构造传递参数和自定义消息可以让你在不同的对象之间穿梭。
static CDC* pDisplayMemDC=new CDC;
static CBitmap* pBitmap = new CBitmap;
是在类中的?
是的话,试试改为:
类中
static CDC* pDisplayMemDC;
static CBitmap* pBitmap;
类外
CDC* CXXX::pDisplayMemDC = new CDC;
CBitmap* CXXX::pBitmap = new CBitmap;
其中CXXX是类名
另外几点建议:
1.不知道的查MSDN,找到MSDN网站,输入类名或者不知的函数名,慢慢看解释。
2.构造传递参数和自定义消息可以让你在不同的对象之间穿梭。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你可以把这个初始化操作放在类外面的,静态全局变量是不能在类里面初始化的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你先确定窗口其他内容的生命期,我原来都在initialdlg里面加的,你要理解c++了至少可以加的地方很多,不行你把pDisplayMemDC声明成类的静态成员试一下。再不行你把代码贴给我我看下
更多追问追答
追问
代码太多了。 文件有80M 我测试就是因为没出来好 资源的问题 导致这个BUG 申明为静态的成员就不能new 了 new就报错
追答
这样,你把两个指针写成类的数据成员,然后构造函数时写成NULL,然后找个地方new,只要在类的生命期就没问题了,我猜你窗口类应该是new一次,就放在窗口对象里面就好了,然后初始化窗口的时候new哪两个对象。
ps:你要逆天呀80m的 程序,做一个20人的项目也没那么多文件呀
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询