坐标绘制-VC6.0 中 图形和坐标的绘制的简单问题,求救!!

问题描述

VC6.0 中 图形和坐标的绘制的简单问题,求救!!

VC 6.0 中直接在单文档应用程序的View类视图上给绘制坐标轴应该在哪个函数里进行?并且要完成坐标和图形的重绘应该在哪个函数里进行??或者讲述一下OnDraw()、OnPaint()、OnInitialUpdate()、OnEraseBkgnd(pDC)这几个函数的作用和在MFC中的调用顺序吧! 谢谢啦,不胜感激了!!!

解决方案

单文档应用程序的绘图是在OnDraw中完成的,把绘图的动作放在OnDraw中,把坐标计算可以放在外面,然后重绘调用 Invalidate()函数来完成

解决方案二:

首先,OnInitialUpdate 是 CFrameWnd 的初始化,为了和普通的 CWnd.OnCreate 区分开来。
根据不同的刷新要求,可能会触发一次或多次 OnEraseBkgnd() 调用、也可能一次都不触发。
重绘会调用 OnPaint(),然后 OnPaint() 会调用 OnDraw()。
通常是 OnPaint 中根据输出的设备不同、或者是否有缓冲传给 OnDraw() 不同的 dc;
而 OnDraw() 只负责纯粹的绘图。

一般只要实现 OnDraw() 就行了。
如果刷默认底色有闪烁,可以重载 OnEraseBkgnd() 直接返回 TRUE。

时间: 2024-11-01 12:16:23

坐标绘制-VC6.0 中 图形和坐标的绘制的简单问题,求救!!的相关文章

windows下 vc6.0中使用speex库压缩音频文件

问题描述 windows下 vc6.0中使用speex库压缩音频文件 想在windows下使用speex库压缩音频文件 代码使用speex文档中附录A的代码 只是把其中的文件路径修改了 但是编码之后的文件大小只用2K 原文件900K左右,而且解码后无法播放,全是杂音,请问是怎么回事 编码文件是PCM格式的. 代码如下 #include #include #include #include #define FRAME_SIZE 160 void main() { FILE *fin,*fout;

vc6 0 extern 问题2个-vc6.0 中extern使用时遇到的2个疑问,还望诸位帮忙看下,多谢

问题描述 vc6.0 中extern使用时遇到的2个疑问,还望诸位帮忙看下,多谢 我在文件1CTestHello.cpp 声明了 extern void delete_string(char a[],char b[],char standard); 再调用文件2 file2.c中的delete_string(a,b,Standard);函数: 发现2个问题: 问题1:用extern实验发现必须用include,但查找资料,没有说这两个有必然关联.请问到底有没有必然关联?下面是实验: 如果文件1中

指令-VC6.0中dll创建失败,编译报错怎么处理

问题描述 VC6.0中dll创建失败,编译报错怎么处理 VC6.0环境,创建DCOM的服务器. 想要生成一个dll文件,在project setting里面输入了指令 然后就出现了编译错误 这个怎么破?求各位大神解答! 解决方案 -f是参数吧,中间缺少空格. 解决方案二: nmake命令路径是否正确,是否PATH环境变量中.跟参数之间要有空格.

c++-vc6.0中如何编译和执行由多个C++源文件组成的程序

问题描述 vc6.0中如何编译和执行由多个C++源文件组成的程序 程序分成几个不同部分的源文件,怎么导入一个工程中,新手求编译执行的步骤 解决方案 新建一个项目,然后在文件菜单添加源代码,把代码复制过来. 这些源代码本身要匹配. 如果要使用外部的函数,用extern声明. 如果代码没有问题,就可以编译. 解决方案二: 先在vc里建立一个 win32的控制台工程 然后将你的文件导入就应该可以了 解决方案三: 创建一个空项目,在"源文件"里面添加.cpp的文件,在"头文件&quo

c++ 单链表-单链表做电话本 在VC6.0中运行不了?

问题描述 单链表做电话本 在VC6.0中运行不了? /*用单链表的形式做成的电话本:功能:插入成员,删除成员,修改成员,搜索成员,输出整个链表*/ #include #include using namespace std; struct tel{ int number; char name[20]; tel *next;}; /*print the whole line*/ tel print(tel*head){ tel*p=new tel; p=head; while(p->next!=N

为什么VC6.0中编译的mpi可执行文件,在MPICH运行时,到printf(“*“)时输出不了*

问题描述 为什么VC6.0中编译的mpi可执行文件,在MPICH运行时,到printf("*")时输出不了* 我看到有的MPI程序用的是fprintf,如 fprintf(stderr,"Process %d on %sn",myid, processor_name); fflush(stderr); 这个是什么?一定要用这个吗?不是吧,我看到有的MPI程序用printf也可以,这是为什么???该怎么办啊 解决方案 这是输出到stderr管道,printf是输出到s

c语言问题-大家好,下面这段程序在vc6.0中编译时没错误,但却运行不起来。麻烦帮看一下

问题描述 大家好,下面这段程序在vc6.0中编译时没错误,但却运行不起来.麻烦帮看一下 #include #include int main() { int shu,shang,i,yushu; int a[16]={0}; clrscr(); printf("shu ru yi ge shu shi jin zhin "); scanf("%d",shu); for(i=0;i { yushu=shu%2; shang=shu/2; a[i]=yushu; shu

快速掌握VC6.0中各种宏注释应用(附图)_C 语言

为了方便别人或自己阅读自己的程序,注释是坚决不可少的.一个漂亮的程序,不是在于你应用的技术多么高深,而是能够把高深的技术描述的清楚易懂. 在Java的IDE环境--Eclispe中,有很多中注释的,并且设置注释也是很方便的,因为现在从事C++,嘻嘻,Eclispe已经卸载,至于设置注释的地方,直接百度或谷歌即可. 所以嘛,习惯了Eclispe的注释,所以想法设法,在VC6.0中尝试.当对于一个陌生的东西而言,如何熟悉他呢,就是拿你现在已有的知识,去联想.比如Java中截取字符串,或解析xml等,

vc++-在vc6.0中,按下按钮1之后才可以按按钮2该怎么实现

问题描述 在vc6.0中,按下按钮1之后才可以按按钮2该怎么实现 如题,当按下按钮1之后才可以按钮2,而按钮1没按时按按钮2是没反应的 解决方案 初始化的时候,按钮一可用设置true , 按钮二可用设置 false : 在按钮一的点击事件中 设置按钮二可用为true : 解决方案二: 有enable和disable属性可以设置 解决方案三: 基于VC++ PNG按钮的实现[2]基于VC++ PNG按钮的实现[1] 解决方案四: 先把按钮2的"可用"设为false,按1按钮之后再把2按钮