社区
图形处理/算法
帖子详情
CClientDC的问题
PRIVATEXFQ
2003-10-15 10:36:13
我在一个View中定义了一个 CDC* m_dc;
然后再OnCreate中写了
CClientDC dc(this);
m_dc=&dc;
然后再在OnLButtonUp中调用m_dc时画线时出现了错误
如果我把 CClientDC dc(this); m_dc=&dc;写在OnLButtonUp中就没问题了
请问这是为什么?
...全文
182
7
打赏
收藏
CClientDC的问题
我在一个View中定义了一个 CDC* m_dc; 然后再OnCreate中写了 CClientDC dc(this); m_dc=&dc; 然后再在OnLButtonUp中调用m_dc时画线时出现了错误 如果我把 CClientDC dc(this); m_dc=&dc;写在OnLButtonUp中就没问题了 请问这是为什么?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
romanticist
2003-10-15
打赏
举报
回复
然后再OnCreate中写了
CClientDC dc(this);
m_dc=&dc;
中创建的dc是局部变量,OnCreate函数退出之后dc被释放,所以m_dc所指的dc也不存在了。
qbql
2003-10-15
打赏
举报
回复
怎么跑到LBUTTONDOWN里面去了
应该在ondraw中画阿
binjuny
2003-10-15
打赏
举报
回复
你在那个函数中用的哦~~~~~
xiaohyy
2003-10-15
打赏
举报
回复
还是多看看c++的书吧。反复强调局部指针不能保存。。
阿甘
2003-10-15
打赏
举报
回复
dc不存在是因为,在CClientDC的destructor里面自动调用了ReleaseDC
阿甘
2003-10-15
打赏
举报
回复
OnCreate结束以后,这个dc已经不存在了,m_dc指向了无效的位置
再调用当然出错,dc这东西需要的时候再获取比较安全
zhansg
2003-10-15
打赏
举报
回复
m_dc指向的是局部指针,在他的作用域外当然就无效了;
你可以在OnLButtonUp()中用GetDC()取得当前DC,注意用完要ReleaseDC();
另应习惯在OnDraw或OnPaint中进行GDI操作。
图形编程01_C
Client
DC
派生类的建立与使用
11.MFC使用C
DC
类代表设备环境,其中有许多绘制函数及相关函数,作为计算机图形学课程的练习,只允许使 用C
DC
的SetPixel(...)函数,其他绘制基本图形的函数采用图形学相应的算法,如DDA画线算法,中点画圆算 法等。 为充分利用C++的面向对象特征,考虑从C
DC
类继承,以派生出自己的
DC
类,然后添加图形学相应的算法。 由于绘制的图形通常绘制到窗口客户区,客户区对应的
DC
类为C
Client
DC
,因此选定从C
Client
DC
派生,这样可 直接绘制到窗口客户区。 在类视图(ClassView)中选定GD classes,右键弹出菜单,选New Class...:
VC_MFC的H
DC
,C
DC
,CWindow
DC
,C
Client
DC
,CPaint
DC
详解
VC_MFC的H
DC
,C
DC
,CWindow
DC
,C
Client
DC
,CPaint
DC
详解
多线程,线程里采用C
Client
DC
绘图,线程里录制屏幕
两个线程,一个线程里绘图(传递参数),一个线程里采用Opencv录制屏幕,需要配置opencv环境,里面有个debug的属性表,可以调取然后更改opencv位置;
MFC中的C
DC
,C
Client
DC
,CPaint
DC
,CWindow
DC
的区别
MFC中的C
DC
,C
Client
DC
,CPaint
DC
,CWindow
DC
的区别_针对初学者的一些概念。
H
DC
-C
DC
-C
Client
DC
-CPaint
DC
C-Window
DC
的使用
H
DC
-C
DC
-C
Client
DC
-CPaint
DC
C-Window
DC
各种常用
dc
的使用,内含程序和整理的文档。
图形处理/算法
19,468
社区成员
50,698
社区内容
发帖
与我相关
我的任务
图形处理/算法
VC/MFC 图形处理/算法
复制链接
扫一扫
分享
社区描述
VC/MFC 图形处理/算法
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章