永发信息网

MFC调用GetDC()函数后哪些情况下需要释放DC?

答案:3  悬赏:0  手机版
解决时间 2021-11-09 14:27
MFC调用GetDC()函数后哪些情况下需要释放DC?
最佳答案
MFC调用GetDC()函数后哪最好都主动释放DC,因为getdc函数对系统的相对开销比较大,如果你的程序里使用了几百个getdc函数而又不通过ReleaseDC函数释放的话,那你机器运行速度将是龟速。
GetDC函数根据指定的等级类型检索指定窗口普通的、典型的或特有的设备上下文环境。
对于普通设备上下文环境,GetDC在每次检索的时候部分分配给它缺省特性,对于典型和特有的设备上下文环境,GetDC不改变先前设置的特性。
在使用普通设备上下文环境绘图之后,必须调用ReleaseDc函数释放该设备上下文环境,典型和特有设备上下文环境不需要释放,设备上下文环境的个数仅受有效内存的限制。
例子:
void CDCDemoDlg::OnGetdcApi()
{
HDC hDC=::GetDC(m_hWnd);
::MoveToEx(hDC,0,0,NULL);
LineTo(hDC,200,50);
::ReleaseDC(m_hWnd,hDC);
}
全部回答
如果是一个类对象的话,就不需要释放,如果是其他的,直接调用API函数就需要ReleaseDC ,因为对象的话,MFC调用析构的时候帮你释放了,所以不需要,但是如果是对象指针,就是动态new出来的要调用delete掉指针,这样才能析构。。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
“马无夜草不肥,人无横财不富”什么意思?
博世进口电镐机械没有问题,转子、定子都正常
车祸全责都有哪些
新出的丝路兰州烟多少钱?黄盒的
沙洋监狱的发展历程
我的东家是什么意思?
衣服哪里做的好
开家保健品店要什么证件
哪个jsf组件可以呈现div标记
日语里的poi意思是什么
乡村爱情名流刘一水给木匠买门是哪集?
楼主问题主题:电放提单和正本提单有什么区别
3.6+6.4乘0.73减算
萍乡长途汽车会放年假?
请问交大无美女这句歌词是否有问题啊
推荐资讯
为什么我的A卡 设置界面功能项显示不全
月薪多少才可以包二奶想当有钱人了
微爱,这个游戏好烦呢,看着别人家玲琅满目,
我一个朋友说她明年(2018年)开春就满23岁啦
现在站群软件好多啊,哪个好,是黑豹站群吗?
关于钻研的古诗词
SARA是男是女啊?她是哪国人啊?
香橼刚长出来是什么颜色
为什么江西方言那么杂?
微创伤口不愈合需要补针吗
如何给草缸里的苹果螺补钙
御龙在天鸡毛信奖励
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?