graphics.h这是tc 绘图的头文件。vc不行。如果一定要用的话,就要和别人一起重写,但没必要。如果是控制台绘图,只需要调用windows的api函数即可。如果你想创建一个新窗口,那么选择mfcexe中的一个。这是桌面应用程序程序并给你一个代码绘图。自己去看看# include # include # include # includeExternc { winbase API HWNDWinapigetConsoleWindow()。}intmain(intargc,
6、用MFC如何高效地 绘图1。首先要知道,并不是所有的图纸都展示出来了。例如,在OnDraw中绘制两个矩形。虽然两个矩形的绘制功能都是在一次重绘中执行的,但是很有可能只显示一个。这是因为MFC本身设置了一个裁剪区域来提高重绘的效率。裁剪区域的作用是只有这个区域内的绘图进程才会真正有效,而区域外的绘图进程将无效,即使在区域外执行绘图函数也不会显示,因为大多数情况下窗口重绘多是部分遮挡或窗口滚动造成的,改变的区域并不是整个图形,而只是一小部分,需要显示。
2.其次,这个裁剪区域是由MFC设置的,提高了显示效率。在绘制复杂图形时,进一步提高效率的唯一方法是将绘图进程移出裁剪区域。可以先用pDC>GetClipBox()获取裁剪区域,然后在绘图判断你的图形是否在这个区域。如果,
7、怎么用MFC编一个绘制多边形的 程序啊画一组连接LP points PDC > polyline(lppointlppoints,int ncount)指定的点的线段(未填充);LpPoints是指向用于连接的点结构或CPoint对象的指针。nCount数组中的点数。其值不小于2。使用当前画笔绘制具有两个以上由直线连接的顶点的多边形。(填充)pDC >多边形(LPPOINTlpPoints,
8、MFC 绘图 程序出现的错误!!!什么原因?如果你贴的是点击那个工具栏按钮时触发的函数代码,你就无法理解cgdiobject * pascalcgdiobject::from handle(hgdiobj){ chandlemap * pmapafxmaphgdiobj(true);//createmapifnotexistASSERT(pMap!NULL);CGdiObject * po object(CGdiObject *)pMap > from handle(h);ASSERT(pObjectNULL | | po object > m _ hObjecth);returnpObject}一个GDI对象已经生成了_ afx win _ inlineintcfont::getlog font(log font * plogfont){ assert(m _ ho object!NULL);return::GetObject(m _ ho object,
9、 mfc中如何画图形Draw in ondraw()void CX new::ondraw(CDC * PDC){..}在您的CxxViewclass中。用CPenaPen画线;阿彭。CreatePen(PS_SOLID,COLORREF(0x ff 00 ff));像这样的方法定义了线条的线型和颜色。用CBrushbrush1给该区域着色;画笔1。CreateSolidBrush(RGB(0,
RGB(0,255,0));//以这样的方式定义颜色和图案。使用poldPenpDC > select object(