武汉大学遥感院GPSVC编程

武汉大学遥感院GPSVC编程

ID:37821312

大小:270.91 KB

页数:24页

时间:2019-05-31

武汉大学遥感院GPSVC编程_第1页
武汉大学遥感院GPSVC编程_第2页
武汉大学遥感院GPSVC编程_第3页
武汉大学遥感院GPSVC编程_第4页
武汉大学遥感院GPSVC编程_第5页
资源描述:

《武汉大学遥感院GPSVC编程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、与图形学相关的VC编程目的:掌握与图形学相关的基本的VC编程方法要求:平时作业用VC完成作为本课程的平时作业成绩,最终上交一个包含基本方法的计算机图形学演示软件。VC程序框架的建立步骤:打开VC++6.0软件,File→New→Projects→MFCAppWizard(exe)→ProjectName:test→OKSingleDocument→Next→Next→Next→Next→Asastaticallylinkedlibrary→Next→Finish→OK至此,一个框架建好编译框架:build→buildtest.exe运行程序:build

2、→executetest.exeVC框架四个类介绍主框架类(CMainFrame):管理窗口应用类(CTestApp):对有关部分进行管理和调度文档类(CTestDoc):管理程序数据视图类(CTestView):管理图形显示文档类、视图类是我们编程要涉及到的主要类增加菜单框架提供给我们的四个菜单,不是我们需要的,要增加自己的菜单。步骤如下:打开程序框架File→OpenWorkSpace…→打开test目录→test.dsw→打开打开菜单资源ResourceView→testResource→Menu→IDR_MAINFRAME增加菜单项右击空白框→

3、Properties→Caption:直线生成→右击下方空白框→Properties→Caption:DDA直线→ID:ID_LINE_DDA→关闭对话框编译运行程序,菜单项为灰色,无法运行,要为它编程序编写DDA直线生成程序前,为鼠标操作做准备,因为我们要用鼠标来画线Windows事件驱动机制Windows系统设置了许多事件,如按键盘,动鼠标,打开、关闭窗口等,它们用以WM_开头的变量标识。Windows系统自动检测这些事件,当事件发生时,如按下鼠标左键,系统马上通知应用程序,应用程序有机会对事件做出反应。如何反应,需要编程实现。我们设计画直线时鼠标

4、事件反应方式如下:按左键定点;按右键结束定点,开始画线;鼠标移动时显示鼠标位置。需要的事件是:按左键,按右键,鼠标移动。增加鼠标事件响应程序框架左键事件步骤:打开程序框架→View→ClassWizard…→ClassName:CTestView(即鼠标响应程序放在视图类中)→Messages:WM_LBUTTONDOWN→AddFunction→EditFunction可以看到TestView.cpp(视图类程序)增加了一个函数OnLButtonDown,目前只是一个空框架用同样的方法增加右键、鼠标移动框架,方法同上,只是在Messages下拉表中分

5、别选WM_RBUTTONDOWN,WM_MOUSEMOVE事件。说明:鼠标事件一般在图上操作时发生,所以其响应函数放在视图类中鼠标坐标显示(1)为了精确定点,必须知道当前坐标,因此必须为操作者提示鼠标坐标。准备将坐标显示在应用程序窗口的左下脚。步骤如下:修改主框架类注销mainfrm.h中的变量//CStatusBarm_wndStatusBar;在mainfrm.cpp前部中声明为全程变量#ifdef_DEBUG#definenewDEBUG_NEW#undefTHIS_FILEstaticcharTHIS_FILE[]=__FILE__;#endi

6、fCStatusBarm_wndStatusBar;鼠标坐标显示(2)将staticUINTindicators[]={ID_SEPARATOR,//statuslineindicatorID_INDICATOR_CAPS,ID_INDICATOR_NUM,ID_INDICATOR_SCRL,};改为staticUINTindicators[]={ID_SEPARATOR,//statuslineindicatorID_SEPARATOR,//statuslineindicatorID_SEPARATOR,//statuslineindicatorID

7、_SEPARATOR,//statuslineindicator};鼠标坐标显示(3)将CMainFrame::OnCreate函数中的if(!m_wndToolBar.CreateEx(this,TBSTYLE_FLAT,WS_CHILD

8、WS_VISIBLE

9、CBRS_TOP

10、CBRS_GRIPPER

11、CBRS_TOOLTIPS

12、CBRS_FLYBY

13、CBRS_SIZE_DYNAMIC)

14、

15、!m_wndToolBar.LoadToolBar(IDR_MAINFRAME))改为if(!m_wndToolBar.Create(this)

16、

17、!m_wnd

18、ToolBar.LoadToolBar(IDR_MAINFRAME))鼠标坐标显示(4)在CM

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。