关于MFC类成员变量的声明问题

2025-04-28 00:20:31
推荐回答(5个)
回答1:

补充一下三楼的
1:有的人装的vc本身就有问题,你可以试试点组建里的“全部重建”然后再试试 ,还可以这样:先保存,关掉,然后找到程序所在文件夹,把里面的".ncp"".opt""等其他计算机不能识别的文件删掉再重新打开
2:如果是定义出现了问题的话肯定会影响其绘图功能的,如果是我上面说的vc的问题的话虽然不弹出来也不会影响的
3:不好说,你vc还没学好上面的用法很混乱
4:OnDraw函数是程序一运行时就调用的 正常情况下只调用一次(如果你们有加其他程序的话),如果你运行完 改变程序窗口的大小或者移动窗口的话 onDraw还会被调用的
另外:我也是新手 计算机专业 欢迎加好友一起学习
建议下载360软甲管家里开发必备里的这个插件用 ,学习mfc会很方便的:Visual Assist X 10.0

回答2:

声明CDC的变量后,要初始化,初始化后才能使用,不然肯定 没用的
指针也要初始化才能使用,正常情况下,如果代码正确一些提示是肯定 会弹出来的,不过也有例外 的情况,有个文件会影响这个提示,所以不能根据这个判断代码 的正误,只要你的代码确实 正常,这个提示弹不弹出来都没关系。

回答3:

memDC,看变量名应该属于缓存,也就是textout没有直接画屏幕上,通过m_pfr->blt(...)把缓存memDC的内容画出来,这样做好处是不会闪烁;ondraw 跟opaint类似,属于刷新时重绘

回答4:

CDC,只是申明了,没有创建,所以不能使用,你必须与系统的CDC关联起来。
或者获得设备的
OnDraw,在你每次刷新或者重绘窗口时,会调用。

回答5:

没有智能提示可能的原因有:
1、定义出现了问题
2、调用方式不正确(比如,没有正确的区分.和->或者是非静态的当成在静态函数使用当然是错误的,肯定不会显示出来)
3、动态的智能提示,更新数据库需要一定的时间,特别是逻辑或定义方式非常复杂的时候。
4、也有可能更新只能提示数据库堵塞造成的,有时重启studio会解决该问题。
5、必要时添加this标识用以区分同名不同域的变量。
智能提示有没有对编译连接程序是没有任何影响的。