MFC小白提问 新建了一个基于对话框的应用,然后在OnInitDialog函数中写了这样一段代码:CClientDC dc(this);dc.MoveTo(CPoint(100,200));dc.LineTo(CPoint(400,500));运行时不知为何对话框不显示该线条,求解 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在OnPaint函数中去做CPaintDC dc(this);dc.MoveTo(...);dc.LineTo(...); 因为你的代码放的位置不对。OnInitDialog是对话框初始化函数,他只能执行一次,待对话框生成之后,MFC会一直执行Update来更新窗口,于是就把你以前画的直线给刷掉了。正确的做法就是部长那样,将你的全部绘图代码放到OnPaint函数中去做。 OnInitDialog函数执行的过程中会画线条,但是该函数执行完后,会接着执行很多函数,比如OnPaint,导致窗口重绘,把你之前花的又刷掉了 初学者问题,一定要放入OnPaint之中因为你虽然OnInitDialog画了一次,但是程序会多次触发了WM_PAINT消息,然后就会调用OnPaint函数,本身OnPaint为空,就画OnPaint里面的东西,你的内容就被清空了。 创建的线程修改全局变量的问题 编译出错,求解.. SDI界面,用CSplitterWnd类分割界面,左边是树状视图,右边显示对应于树状条目的内容?? 多个图片控件,怎样控制他们在界面上的显示 我想自己写CString.Format 对话框不能关闭为哪般? 请大家帮忙选择一下加解密算法和压缩解压缩算法;100分!!!!!!!! 请问一下:VC++与C++的关系是什么?___菜鸟 如何显示次方 一个进程为VC2.0, 另一个为VC6编的MFC程序。才鸟。。。 Debuger下为什么会报错? 用Opencv,区域颜色如何提取?
CPaintDC dc(this);
dc.MoveTo(...);
dc.LineTo(...);
正确的做法就是部长那样,将你的全部绘图代码放到OnPaint函数中去做。