onpaint()闪烁 onPaint时候再绘制。先好好看看教程。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 就是在onpaint里面调用画图的函数,初始化界面只是闪一下图就没啦 你应该在OnDraw函数里面画吧. 对的,这是绘图的部分程序,那是该把什么改成全局 CWnd *pWnd=GetDlgItem(nID); CRect ClientRect; // pWnd->GetClientRect(ClientRect); //获取DC CClientDC dc(pWnd); //设置剪辑区域 CRgn ClientRgn; ClientRgn.CreateRectRgnIndirect(ClientRect); dc.SelectClipRgn(&ClientRgn); //设置画刷 dc.SelectObject(GetStockObject(BLACK_BRUSH)); //设置画笔 CPen pen1(PS_SOLID, 1, RGB(255, 255, 255)); //白 CPen pen2(PS_SOLID, 1, RGB(255, 255, 255)); CPen pen3(PS_SOLID, 1, RGB(255, 255, 0)); CPen pen4(PS_SOLID, 1, RGB(0, 100, 0)); dc.SelectObject(pen1); //清空窗口 dc.Rectangle(ClientRect); //设置映射方式 dc.SetMapMode(MM_ISOTROPIC); dc.SetViewportExt(ClientRect.Width(), -ClientRect.Height()); //设置视区范围 dc.SetViewportOrg(ClientRect.CenterPoint().x-20, ClientRect.CenterPoint().y+145); //设置视区起点坐标 dc.SetWindowExt(MeterPerPixel*min(ClientRect.Width(), ClientRect.Height()), MeterPerPixel*min(ClientRect.Width(), ClientRect.Height())); //设置窗体范围 ..............................以下省略 CClientDC dc(pWnd);这句最操蛋发消息给pWnd让他自己控制自己画图不好非要横加干涉传统的皇帝式思维活该 button的BN_CLICKED响应函数中设置标记,然后调用InvalidateRect强制刷新,OnPaint/OnDraw()函数中根据标记绘制图形。 bmp位图缩放的问题 对象关闭时,不允许操作! 多线程同步怎么导致死锁了?求真相 如何显示BMP图形~~ 怎么判断一个image是否已读入内存 紧急!CTreeCtrl的使用! 如何改变整个框架的颜色?(不使用WINDOWS的配色方案) 获取像素点颜色问题 如何解决:fatal error C1010: unexpected end of file while looking for precompiled header directive MODERM 声音大小在何处调节?? 求一个基于socket的MFC多线程群聊天室,c++编写 mfc对话框消息问题
CWnd *pWnd=GetDlgItem(nID);
CRect ClientRect; //
pWnd->GetClientRect(ClientRect);
//获取DC
CClientDC dc(pWnd);
//设置剪辑区域
CRgn ClientRgn;
ClientRgn.CreateRectRgnIndirect(ClientRect);
dc.SelectClipRgn(&ClientRgn);
//设置画刷
dc.SelectObject(GetStockObject(BLACK_BRUSH));
//设置画笔
CPen pen1(PS_SOLID, 1, RGB(255, 255, 255)); //白
CPen pen2(PS_SOLID, 1, RGB(255, 255, 255));
CPen pen3(PS_SOLID, 1, RGB(255, 255, 0));
CPen pen4(PS_SOLID, 1, RGB(0, 100, 0));
dc.SelectObject(pen1);
//清空窗口
dc.Rectangle(ClientRect);
//设置映射方式
dc.SetMapMode(MM_ISOTROPIC);
dc.SetViewportExt(ClientRect.Width(), -ClientRect.Height()); //设置视区范围
dc.SetViewportOrg(ClientRect.CenterPoint().x-20, ClientRect.CenterPoint().y+145); //设置视区起点坐标
dc.SetWindowExt(MeterPerPixel*min(ClientRect.Width(), ClientRect.Height()), MeterPerPixel*min(ClientRect.Width(), ClientRect.Height())); //设置窗体范围
..............................以下省略
非要横加干涉传统的皇帝式思维
活该