在MFC中,怎么修改CPaintDC dc(this)中this的const属性? 在MFC中,默认的CPaintDC dc(this)中this的属性是const,是不可修改的,我现在程序需要对this重新赋值,是不是要修改this的cons的属性?怎么修改? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 “我现在程序需要对this重新赋值” 先解释下为何有这需求吧~ 就这几句代码void ZFT::OnPaint() {// CPaintDC dc(this); CRect rect; CWnd *pWnd; pWnd=GetDlgItem(IDC_Graphic); pWnd->GetClientRect(&rect); int i; CPaintDC dc(pWnd); dc.MoveTo(0,rect.Height()); dc.LineTo(rect.Width(),rect.Height()); dc.MoveTo(0,rect.Height()); dc.LineTo(0,0);/* for(i=0;i<256;i++) { dc.MoveTo(i+1,rect.Height()); dc.LineTo (i+1,(rect.Height()-rect.Height()*num[i]*30)); } */}其中ZFT是一个对话框,如果我像现在这样使用pWnd,在程序运行时如果我移动该对话框,它就会留下移动轨迹,而且CPU使用100%,也就是对话框移动之前的那个框架不消失,还在屏幕上,但如果不使用pWnd,使用this就不会那样,当然,使用this就达不到我绘图的目的了,我也不知道怎么解决 pWnd=GetDlgItem(IDC_Graphic); pWnd->GetClientRect(&rect); int i; CPaintDC dc(pWnd); 死循环了........ 你应该在你这个IDC_Graphic控件内部进行绘图。 listctrl中如何显示进度 vc2008中找不到mscomm.h头文件? 如何提高自己的编程能力 Edit控件能不能添加文本? 在校大学生,网络电视界面设计问题 获取和端口号关联的应用程序 在VC中,怎样判断一个.txt/.ini文件结束呢? 提个关于控件的问题 去看看这个帖子,顺便问一下怎么帖图和连接 IOCP里面的PERIO和PERHANDLE为什么用GlobalAlloc 求Windows网络编程(第2版)的中文电子版,书店已经绝版了,谢谢!! ADO数据库用DataGrid不能按先后排序的问题
void ZFT::OnPaint()
{
// CPaintDC dc(this); CRect rect;
CWnd *pWnd;
pWnd=GetDlgItem(IDC_Graphic);
pWnd->GetClientRect(&rect);
int i;
CPaintDC dc(pWnd);
dc.MoveTo(0,rect.Height());
dc.LineTo(rect.Width(),rect.Height());
dc.MoveTo(0,rect.Height());
dc.LineTo(0,0);
/* for(i=0;i<256;i++)
{
dc.MoveTo(i+1,rect.Height());
dc.LineTo (i+1,(rect.Height()-rect.Height()*num[i]*30));
}
*/
}其中ZFT是一个对话框,如果我像现在这样使用pWnd,在程序运行时如果我移动该对话框,它就会留下移动轨迹,而且CPU使用100%,也就是对话框移动之前的那个框架不消失,还在屏幕上,但如果不使用pWnd,使用this就不会那样,当然,使用this就达不到我绘图的目的了,我也不知道怎么解决
pWnd->GetClientRect(&rect);
int i;
CPaintDC dc(pWnd); 死循环了........