Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2631162
  • 博文数量: 315
  • 博客积分: 3901
  • 博客等级: 少校
  • 技术积分: 3640
  • 用 户 组: 普通用户
  • 注册时间: 2011-05-08 15:32
个人简介

知乎:https://www.zhihu.com/people/monkey.d.luffy Android高级开发交流群2: 752871516

文章分类

全部博文(315)

文章存档

2019年(2)

2018年(1)

2016年(7)

2015年(32)

2014年(39)

2013年(109)

2012年(81)

2011年(44)

分类: Windows平台

2013-08-03 19:10:13

    这两天也不想干别的,就看看一些学习视频啥的,也行。顺便复习C++,长时间不用,还是会陌生的。所以还是来总结下这个过程吧,其中还有很多自己遇到的问题,都总结下:
    第一步当然是创建MFC AppWizard【exe】工程啦:
    
    选择单文档应用程序
    
    点击确定
    
    
    工程创建好了,我们首先要实现在View窗口内绘制直线的功能,也就是鼠标按下,拖动到某个位置抬起然后绘制一条直线,所以我们需要添加鼠标左键按下和抬起消息事件  点击CDrawLineView,然后点击鼠标右键  
    
   
   然后点击Edit Existing
  

  为了在鼠标抬起时绘制按下点到抬起点间的直线,因此我们需要首先保存鼠标点击时的坐标位置,因此需要添加成员变量
    

   
    
   
    
    这样我们就可以直接添加鼠标抬起时进行绘制的代码了
    

    这里我想添加一个按钮去清除当前绘制,但按钮事件要自己定义,这样我想到了重载CButton类,好!
    工程上鼠标右键
    

    这样还不够,我们还需要为这个重载类添加鼠标点击事件,当然你也可以添加其他事件
    

    然后添加相应的事件处理
    

    CMyButton创建好后,我们就可以在CDrawLineView里面创建一个按钮对象了,顺便我把DCD指针拿到头文件定义
    

    创建CMyButton之前记得包含头文件.........

    既然要在CDrawLineView里面显示按钮,而此时该窗口并没有onCreate函数,怎么办?对了,我们可以添加一个WM_CREATE消息处理函数,这样不就有了吗!!!
    

    onCreate消息有了,我们可以创建按钮了....
    

    这样的线有点僵硬了,要是可以绘制曲线更好。想法不错,我们有鼠标拖动事件可以用;那么可以实现,添加鼠标拖动事件吧..
    

    我们要鼠标拖动绘制,不能光在鼠标拖动接口实现绘制,不然我们鼠标到哪都在画,这样无法控制,我们必须限定为鼠标按下后拖动才开始绘制,抬起鼠标绘制结束,这才是绘图程序;因此需要添加一个布尔值做处理
    

    

    同时有个问题:
    我们线会画到按钮上,怎么办啊!不行,我们需要过滤掉下面这种情况...
    

    
     所以处理一下
     

    
    最后基本没问题了,当然可能还有bug,嘿嘿...
    

     这些可能对于某些人来讲,太easy了,或许编程到了一定程度,考虑的不是代码本身,而是真个过程,逻辑,这些都基于经验,基础,见识种种.......【三国杀      我还是太年轻了....】
    
    
阅读(13335) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~