VC++6.0实现直线扫描转换的图文教程

 更新时间:2023年01月12日 10:59:17   作者:酸菜鱼本鱼_  
这篇文章主要给大家介绍了关于VC++6.0实现直线扫描转换的相关资料,文中通过图文将实现的步骤一步步介绍的非常详细,对大家学习或者使用VC++6.0具有一定的参考学习价值,需要的朋友可以参考下

一、添加菜单栏

使用VC++6.0新建一个空白文档后,双击【Menu】下的【ID_MAINFRAME】,添加一个子菜单,如下

添加ID和标题,ID务必保证是唯一的

 注意:【画图】和【Brehensam画圆】这两个菜单是博主之前添加的,大家可以忽略,直接添加自己定义的菜单即可。

二、添加对话框

找到【Dialog】,右键选择【Insert Dialog】,如下

 拖入五个文本框和四个编辑框,布局自定义即可,右键文本框控件选择【Properties】,输入标题即可,效果如下

 文本框修改好之后,轮到编辑框,同样右击编辑框,选择【Properties】,填入对应的ID,最好与输入相对应,如下

 以上操作完成后,在对话框任意空白位置双击,会弹出对话框,选择【OK】

 为对话框起个名字,尽量不要以大写C开头,输入完成后选择【OK】

 出现如下界面,选择【OK】

 选中对话框【中点画线】,点击【ClassWizard】,为其添加成员变量,如下

选择对应的类名以及子菜单的ID,点击【OK】

再次打开【ClassWizerd】,添加变量

 以此类推,添加完成后如下,点击【OK】

三、建立消息映射

无需选中任何选项,点击【View】,选择【ClassWizard】

注意Class name和Object ID以及Message的选择, Object ID要选择子菜单的ID

 点击【Add Function】,直接点击【OK】即可,使用默认的函数名

 再次点击【OK】即可

四、编写函数

双击打开【testView.cpp】,添加头文件

 测试,编写代码,测试菜单与对话框是否建立了联系

点击感叹号运行,点击子菜单弹出对话框则说明正常建立了联系,如下 

 打开【testView.h】,建立全局变量

 打开【testView.cpp】,给全局变量赋值

编写算法函数,将下列代码粘贴到上述函数的下方

void CTestView::MidLine(){
	CClientDC dc(this); //添加上下文,确定画布
    COLORREF rgb=RGB(0,0,225); //添加画笔颜色
    int a,b,delta1,delta2,d,x,y;
    a=y1-y2;
    b=x2-x1;
    d=2*a+b;
    delta1=2*a;
    delta2=2*(a+b);
    x=x1;
    y=y1;
    dc.SetPixel(x,y,rgb);
    while(x<x2)
    {
        if(d<0)
		{
            x++;
            y++;
            d+=delta2;
		}
        else
		{
            x++;
            d+=delta1;
		}
        dc.SetPixel(x,y,rgb);
   }
}

打开【testView.h】,对函数MidLine进行声明

运行程序,输入坐标

 效果如下

总结

到此这篇关于VC++6.0实现直线扫描转换的文章就介绍到这了,更多相关VC++6.0直线扫描转换内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • C语言实现学生成绩管理系统实战教学

    C语言实现学生成绩管理系统实战教学

    在本篇文章里小编给大家分享了关于C语言实现学生成绩管理系统实战教学内容,有兴趣的朋友们可以跟着学习参考下。
    2019-01-01
  • C++实现删除txt文件中指定内容的示例代码

    C++实现删除txt文件中指定内容的示例代码

    这篇文章主要介绍了C++实现删除txt文件中指定内容的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • C++超详细分析函数重载的使用

    C++超详细分析函数重载的使用

    C++ 允许多个函数拥有相同的名字,只要它们的参数列表不同就可以,这就是函数的重载(Function Overloading),借助重载,一个函数名可以有多种用途
    2022-04-04
  • C语言实现扫雷游戏及其优化

    C语言实现扫雷游戏及其优化

    这篇文章主要为大家详细介绍了C语言实现扫雷游戏及其优化,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-08-08
  • C语言打印杨辉三角形的示例代码

    C语言打印杨辉三角形的示例代码

    杨辉三角形,又称帕斯卡三角形、贾宪三角形、海亚姆三角形,它的排列形如三角形。本文将为大家介绍通过C语言实现打印杨辉三角形的示例代码,需要的可以参考一下
    2022-02-02
  • 深入串的模式匹配算法(普通算法和KMP算法)的详解

    深入串的模式匹配算法(普通算法和KMP算法)的详解

    本篇文章是对串的模式匹配算法(普通算法和KMP算法)的应用进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • C++中的Z字形变换问题

    C++中的Z字形变换问题

    将一个给定字符串 s 根据给定的行数 numRows ,以从上往下、从左到右进行 Z 字形排列,这样一个需求怎么实现呢,下面小编给大家带来了C++中的Z字形变换问题,需要的朋友可以参考下
    2022-07-07
  • 数据结构课程设计-用栈实现表达式求值的方法详解

    数据结构课程设计-用栈实现表达式求值的方法详解

    本篇文章是对在c语言中用栈实现表达式求值的方法进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • C++与Lua交互内存分配详解

    C++与Lua交互内存分配详解

    C/C++ 与 Lua 的交互是通过 lua_State 这一句柄进行交互,我们常规的创建都是通过 luaL_newstate 这一辅助函数,这篇文章主要给大家详细介绍了C++与Lua交互内存分配,文中有相关的代码示例供大家参考,需要的朋友可以参考下
    2023-11-11
  • 基于C++实现TCP聊天室功能

    基于C++实现TCP聊天室功能

    这篇文章主要为大家详细介绍了基于C++实现TCP聊天室功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-07-07

最新评论