基于MFC的测量程序开发精要.docx

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于MFC的测量程序开发精要

基于MFC的测量程序开发 摘要: 关键词: 1 界面设计 以坐标转换系统(包括高斯平面坐标、大地空间坐标、空间直角坐标之间的转换)为例,界面设计如下: 对于此类简单的测绘程序设计,在我看来,运用对话框进行编程,已经足够了,如果没有特殊的要求,不建议使用单文档以及多文档。 对于对话框程序的界面设计主要包括:对话框大小、对话框标题、对话框控件的大小与位置设计等3个方面。其中控件的大小与位置设计最为关键,其美观程度也在此体现,一个美观的程序界面能给人耳目一新的感觉,我认为界面设计是很有必要的。 对话框大小的设计我一般是采用黄金矩形比例即1:0.618,如有特殊的要求可适当的加宽或者加长。对话框的标题可直接在对话框属性中的Caption一栏进行修改。常用控件类型分为:GroupBox、ComboBox、Radio、Edit、Button以及ListControl,其中GroupBox控件起到Radio控件分组与包裹其他类型控件的美观作用,ComboBox起到转换方式选择和坐标系选择的作用,不要使用默认大小,要用鼠标进行绘制,其横向长度要能保证大于最长string的长度,其纵向宽度适宜就行,不做特别要求,Radio、Edit和Button控件的大小也是适宜就行,不做特别要求,ListControl控件的长度很重要,必需要能表示所有的列(包括其中的数据),不能存在空间不够而省略表示的现象,如实在是由于对话框大小有限,长度不够,还能在控件初始化时对控件字体大小进行修改,后面会做介绍。 2 初始化 整个程序的初始化是为后面文件读写、计算、绘图等操作的代码编写做铺垫,是构建一个大的框架,之后再编写每一个部分,在编写的过程中,我们可能会发现很多框架所存在的问题,逐渐修改、逐步完善就可以了,就完成了程序的编写。初始化并不是必要的,就算不初始化,也可以逐步完成程序的编写,但初始化后的程序,在接下来的编写过程中,将会更加的流畅,也能加深自己对于整个程序的理解。 程序的初始化主要包括两个部分,变量的初始化和控件的初始化,它们是有一定的联系的,应交叉进行,不可分开处理,下面主要介绍各类控件的初始化。 ComboBox控件初始化: 首先建立一个ComboBox控件变量,然后在InitDialog函数调用Addsting函数添加string字段,调用SetCursel函数参数设为0是为了在打开对话框时ComboBox控件上默认选择第1条字段,然后调用ComboBox控件的响应函数,响应函数里首先要调用GetCursel函数获取当前索引,然后判断索引值,完成ComboBox控件相对应的操作。 Radio控件初始化: 直接在InitDialog函数里创建一个CButton的变量指针获取Radio控件的窗口句柄,然后调用SetCheck函数并将参数设为1,即在打开对话框时选中此Radio按钮,然后调用Radio控件的响应函数,完成相应操作。需要注意的一点就是,要将包围1组Radio控件的Group控件属性栏里边的Group设置为True,否则将造成整个对话框的所有Radio控件为一组,不能同时选取2个Radio控件的情况。 List Control控件初始化: List Control控件,我又称之为表格控件,主要利用表格进行数据的显示,直接明了。表格控件的初始化直接在InitDialog函数里进行,首先获取表格的大小即Rect,主要是为了接下来每一列宽度的设置做准备,然后进行风格、字体大小、字体颜色的设定,最后依次插入每一列的列名。 3 数据输入 数据的输入有两种形式,一种是文件读入数据,一种是手动输入数据。 3.1 文件读入数据并显示到ListCtrl中 数据文件类型一般常用的是.txt(文本文件)和.xls(表格文件),下面分别对两种类型数据文件的读取进行介绍。 3.1.1 .txt文本文件数据读取 在文本文件中,单个数据之间通常用空格或者逗号来隔开,或者进行换行处理,以下简称为空格类文本文件和逗号类文本文件。 空格类文本文件用C++的fstream来进行读取是非常方便的,但是逗号类文本文件用流来进行读取就显得力不从心了,所以综合空格类文本文件和逗号类文本文件的特点,我们采取一种新的文件读取方式即用MFC中的CStdioFile类来进行文件读取操作,下面介绍具体操作。 双击打开文件Button,创建其响应函数。在响应函数中创建打开对话框获取文件地址并对文件地址进行判定。 文件地址存储在csFileAddress中,文件地址非空判定为空,则弹出提示消息”文件地址错误”,判定为非空则继续往下运行,进行数据的读取操作。 如要读取下一行数据,在再进行一次sf.Readstring()操作即可,最后进行文件的关闭

您可能关注的文档

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档