• 关于MFC与OpenGL结合绘图区域用鼠标来控制图形的移动的坑


    原文作者:aircraft

    原文链接:https://www.cnblogs.com/DOMLX/p/11773171.html

      之前开发的导入多个模型,旋转,分别移动什么什么的,都是在纯OpenGL的环境下写,然后项目需求要界面了。

      我就想着用MFC界面来开发,但是呢MFC对话框 或者单文档跟OpenGL结合的绘图区域,添加了鼠标移动的消息响应函数,可是鼠标移动的坐标打印告诉我,两者结合之后 不仅左上角坐标不是(0,0)右下角也不是常规的长宽坐标

      反正移动起来坐标跳动的非常的不规律,一会一百多,一会就几千,可是界面定义的长宽只有几百而已,这就是一个非常纠结的地方了,在MFC下与OpenGL结合 我不能通过鼠标移动的坐标来控制模型的移动了,

      我也找了很多的资料,和示例程序 都是键盘控制移动,鼠标控制图形旋转   都没有鼠标直接拖动图形移动的实现,这让我觉得可能是MFC太老了,都没有人用来搞与OpengL结合的开发了,所以就没有人研究这个两者的底层结合出现的问题,

      所以导致鼠标不能用来控制图形的拖动,坐标跳动剧烈,不规则。

      没办法,项目需要界面,那我只能重新学习c#或者是QT来制作这个界面了,最后花了一天多学了c#的winform界面开发,opengl是不可以直接在c#中使用的,只能用一些大牛的对接 比如sharpGL  CsharpGL来制作绘制。不过语法都差不多

      c#中的鼠标控制良好 可以非常轻松的实现图形的拖动旋转一系列操作

      经过了一个月的某一次尝试发现,好像MFC的坐标是正常的   上次打印出错误的坐标 应该是打印数据到界面的这个过程的代码出现了一些问题。

    然后我在C++用MFC做这个也成功了。。。。。。唉人生啊 不要太武断 太早下定义 又浪费了很多时间   遇到问题 多加断点观察数据

    感觉自己的脸都被啪啪啪打肿了

    若有兴趣交流分享技术,可关注本人公众号,里面会不定期的分享各种编程教程,和共享源码,诸如研究分享关于c/c++,python,前端,后端,opencv,halcon,opengl,机器学习深度学习之类有关于基础编程,图像处理和机器视觉开发的知识

     

  • 相关阅读:
    Oracle数据类型
    Windows10安装node.js,vue.js以及创建第一个vue.js项目
    Redis Desktop Manager安装
    VMware安装Linux系统
    前端入门学习路线
    架构
    HTML
    Oracle修改表类型方法
    Python学习
    Python(字符串和编码)
  • 原文地址:https://www.cnblogs.com/DOMLX/p/11773171.html
Copyright © 2020-2023  润新知