地图分幅编号实验报告
- 格式:doc
- 大小:465.00 KB
- 文档页数:15
实验一地形图的分幅与编号
实验目的:掌握地图分幅编号的原理与计算方法。
实验内容:
1 写出8种国家基本比例尺。
2 每个同学查找出全部包含自己家乡所在不同级别行政单元(省、地区、市(县))的经纬度范围。
3 计算出相应基本比例尺下的地图编号(分两类体系编号:旧编号与新编号)。
4 绘制家乡所在不同级别行政单元的缩略图。
实验要求:
1 熟练掌握不同比例尺要求下,地图的分幅编号。
2 提交实验报告
实验过程:
1 资料收集分析
(1)地图分幅标号理论的复习巩固,写出各比例尺下的经度与纬度差值,并列表。
(2)查找自己家乡各行政级别的经纬度范围,并列表表示。
(3)收集家乡的各种地图。
2 计算不同比例尺下家乡的地图分幅编号。
3 绘制缩略图。
4 提交实验报告。
(内容包括:地图分幅编号的理论知识总结、新旧编号、概略图)。
实验报告地图分幅编号㈠地图分幅编号的基本理论知识:截止1990年地形图的分幅编号系统–图解法:(1)1:100万地形图分幅编号横行:从赤道起向南北至纬度正负88°,用A、B、C……V表示,极地用Z表示。
纵列:用1、2、3、……60表示;从东经180°起,自东向西至0°,以1~30表示;从0°至东经180°,自东向西,以31~60表示。
图号:“行号(h)-列号(l)”表示行:h=[φ/△φ]+1 λ、φ为某点的经纬度列:L=[λ/△λ]+1 △λ、△φ为百万分之一的经纬差(6°、4°)东半球:H不变L=[λE/△λ]+31西半球:H不变L=30-[λW/△λ](2)1:50万、1:25万、1:20万、1:10万地形图分幅编号1:50万——纬差2°,经差3°,2行×2列。
A、B、C、D。
1:50万,J-50-A;1:25万——纬差1°,经差1°30′,4行×4列,[1]……[16]。
1:25万,J-50-[2];1:20万——纬差40′,经差1°,6行×6列,(1)、……(36)。
J-50-(3);1:10万——纬差20′,经差30′,12行×12列,1,2……144。
1:10万,J-50-44;(3)1:5万,1:1万地形图的分幅编号1:5万——纬差10′,经差15′,2行×2列。
A、B、C、D,J-50-5-B ;1:1万——纬差2′30″,经差3′45″,8行×8列。
(1)……(64),J-50-5-(4);(4)1:2.5万、1:5000地形图分幅编号1:2.5万在1:5万基础上,按纬差5′,经差7′30″,2×2,J-50-5-B-21:5000以1:1万为基础,纬差1′15″,经差1′52.5″,2×2列J-50-B-(64)-a。
实验二地图分幅编号处理与分析
一、实验目的
1. 掌握地图分幅编号的方法,具有处理编号数据的能力;
2. 根据地理坐标掌握地图的编号方法或根据地图的编号进行地理坐标定位,培养学生
认识地图和分析地图的能力。
二、实验内容
通过已知地图内容进行数据分析处理,从地图分幅编号的方法入手进行计算,撰写分析报告。
1. 已知某点的经度为东经118°47′32″,纬度为北纬32°2′41″,计算其所在1:
50万、1:25万、1:5万图幅的编号(分别按新旧地图编号方法)。
2. 己知某图幅图号为J49B001002,求其图幅西南图廓点的经、纬度。
3. 1:10万地形图编号中的行列代码为004001,求其所包含的1:2.5万地形图编号的
行列代码。
4. 1:2.5万地形图编号中的行列代码为016004 和013003,求包含该图的1:10万地
形图图号中的行列代码。
5. 已知制图区域的经纬度范围如下,编制该地区的地图时,需收集1:10万地形图作
为编图资料,请算出所需1:10万图号及并将相邻图幅编号填入下表:
三、实验要求
1. 要求撰写详细的计算步骤,可以用图解,也可以直接用公式解析,也可以两者相结
合。
2. 作业内容5,大家可以使用“地图分幅编号计算器”,但要将具体的原理在报告中书
写清楚。
实验三高斯投影分带、地图分幅编号与接图表说明:高斯投影分带因高斯投影的最大变形在赤道上,并随经差的增大而增大,因此,限制了投影的经度范围,就可将变形大小控制在所需要的范围内,以满足地图所需精度的要求。
因此确定对该投影采取分带单独进行投影。
即依经线按一定的经差将参考椭球体面分为若干瓜瓣形,每个瓜瓣形的中间经线作为中央经线,进行分别投影,每个瓜瓣形称为一带。
投影分带3º9º69º75º81º87º93º99º105º111º117º123º129º135º6°分带:小于、等于1:2.5万6°分带投影是从零子午线起,由西向东,每6°为一带,全球共分60带,东半球划分30个投影带,从0°至180°,用1、2…30表示。
6°分带投影的带号:n= [λE/6 °] +1,[]取整λE=112°15ˊ03",计算n,该带的经度范围,及该带中央经线的经度。
n=18+1=19,即在高斯6°分带投影中,第19带;经度范围:6*(n-1)~6*n=108°~114°中央经线:6*n-3=111°3°分带:大于、等于1:1万3°分带投影是从东经1°30ˊ,由西向东,每3°为一带,全球共分120带,,用1…120表示。
3°分带投影带号:n= [λE- 1°30ˊ/3 °] +1,[]取整λE=112°15ˊ03",计算n,该带的经度范围,及该带中央经线的经度。
n=36+1=37,即在3°分带投影中,第37带;经度范围:3 °*(n-1)+ 1°30ˊ~3*n+ 1°30ˊ=109.5°~112.5° 中央经线:3 °*n=111°地图分幅编号两种系统,分幅是一样的,所有的分幅经差和纬差均相同;不同的是分幅的基础图和编号形式不一样。
第二章地图的分幅与编号第一节地图分幅与编号的定义与作用为了不重测、漏测,就需要将地面按一定的规律分成若干块,这就是地图的分幅。
为了科学地反映各种比例尺地形图之间的关系和相同比例尺地图之间的拼接关系,为了能迅速查找到所需要的某种地区某种比例尺的地图,为了便于平时和战时地图的发放、保管和使用,需要将地形图按一定规律进行编号。
一、地图分幅1.矩形分幅矩形分幅又可分为拼接的和不拼接的两种。
拼接使用的矩形分幅是指相邻图幅有共同的图廓线,使用地图时可按其共同边拼接起来。
不拼接的矩形分幅是指图幅之间没有公共边,每个图幅有其相应的制图主区,各分幅图之间常有一定的重叠(图2-1,图2-2),而且有时还可以根据主区的大小变更地图的比例尺。
图2-2不拼接分幅图示例2.经纬线分幅图廓线由经线和纬线组成,大多数情况下表现为上下图廓为曲线的梯形。
是当前世界各国地形图和大区域的小比例尺分幅地图所采用的主要分幅形式,我国基本比例尺地图就是以经纬线分幅制作的。
二、地图编号编号就是将划分的图幅,按比例尺大小和所在的位置,用文字符号和数字符号进行编号。
编号是每个图幅的数码标记,它们应具备系统性、逻辑性和唯一性。
常用的地图编号有行列式、自然序数式、行列-自然序数式和西南角图廓点坐标公里数编号等。
三、地图分幅编号的作用地图的分幅编号,在地图的生产、管理和使用方面都有重要意义。
首先是测制地图的需要,就测制某种比例尺地图而言,按每一分幅地图的范围和图号下达任务,不仅可以避免测制地图过程中遗漏或重复,节资增效,而且还能使所测地图的幅面控制在适当范围内,避免因幅面过大使绘图作业难以操作,影响绘图质量。
其次是印制地图的需要,若不分幅,地图幅面过大,一般印刷设备难以满足要求,势必要增加成本,而在复照时会给图面带来较大的边缘误差,影响地图的几何精度。
第三是管理和发行的需要,地图分幅编号后,便于分类分区有序地存贮;大小规格一致,易于包装。
运输和存放;统一编号,有利于快速检索和发行。
重庆交通大学地图学学生实验报告开课实验室:测绘实验室学院:土木工程学院年级: 2017级专业班:测绘工程01班学生姓名:向钦山学号: 631701110124 开课时间: 2019 年 9 月 1 日目录实验一地形图的分幅编号 ..................... - 1 -实验二地图矢量化............................ - 10 -实验三地图投影 ............................. - 20 -实验四三维手工地图的制作 ................... - 26 -实验五地图符号设计与制作 ................... - 28 -实验六专题地图制作 ......................... - 37 -实验一地形图的分幅编号一、实习目的与要求(一).复习课堂有关地图分幅编号的理论知识。
(二).掌握根据地理区域的地理坐标范围计算相应比例的地图编号的方法。
二、实习内容查找出能全部包含自己家乡所在不同级别行政单元(市、县(区)、街道等)的基本比例尺 1:100 万、1:10 万、1:1 万地形图的两种版式的编号。
三、实施过程(一).利用网络查找出自己家乡的经纬度。
家乡经纬度为(108.682869,31.23472)。
(二).用arcmap制作自己家乡1:100 万、1:10 万、1:1 万地形图。
1.制作自己家乡1:1万地形图。
(1).布局视图——设置页面和打印设置。
(2).添加数据——添加底图。
(3).新建Shapefile——道路、河流和家乡。
(4).编辑器——编辑要素。
(5).图面配置设计。
图名:图例:比例尺:指北针:2.制作自己家乡1:10万地形图。
(1).布局视图——设置页面和打印设置。
(2).添加数据——添加底图。
(3).新建Shapefile——道路、河流和家乡。
(4).编辑器——编辑要素。
(5).图面配置设计.内容同1:1万家乡地图设计一致,需注意比例尺为1:10万。
地图分幅编号为了便于地形图的测绘、使用和保管,需要将大范围内的地形图进行分幅,并将分幅的地形图进行系统的编号。
地形图的分幅方法有两大类:一是按经纬线分幅的梯形分幅法,另一种是按坐标格网划分的矩形分幅法。
常见的地图编号方法有自然系数编号法、行列式编号法、行列-自然系数编号法。
一、梯形分幅与编号方法地图的图廓由经纬格网线构成。
我国的基本比例尺地形图是以经纬线分幅制作的,它们都是以1:100万比例尺地形图为基础,按规定的经差和纬差划分图幅,行列数和图幅数成简单的倍数关系,如图6-1所示。
图中虚线表示现已不用。
1:100万比例尺地形图的分幅编号是由国际统一规定的,作法是将整个地球表面用子午线分成60个6︒纵列,由经度180︒起,自西向东用阿拉伯数字1~60编列号数。
同时,由赤道起分别向南向北直至纬度88︒止,每隔4︒的纬圈分成许多横行,这些横行用大写的拉丁字母A、B、C、……V标明,以两极为中心,以纬度88︒为界的圈,则用Z标明。
也就是说,一张1:100万比例尺地形图是有为差4︒的纬圈和经差6︒的子午圈所形成的梯形。
其编号采用行列式编号法,由“横行-纵列”格式组成,图6-2为我国领域的1:100万比例尺地形图图幅编号。
例如甲地位于北纬39︒54'30",东经122︒28'25",则该地所在1:100万图幅编号为J-51。
图6-1 我国基本比例尺地形图的分幅编号系统图图6-2 我国领域的1:100万比例尺地形图图幅编号图基本比例尺地形图之间的划分存在层次关系。
例如1:10万比例尺地形图是将1:100万地形图划分成12行12列,共144幅,代号分别用1,2,3,,144表示。
以上梯形分幅与编号的方法是我国70~80年代的分幅与编号系统。
为便于图幅编号的计算机处理,1991年我国制定订了《国家基本比例尺地形图分幅与编号方法》的国家标准。
其主要特点是:分幅仍然以1:100万地图为基础,经纬差不变,但划分全部由1:100万地形图逐次加密划分而成;编号仍然以1:100万地图编号为基础,由下接相应比例尺的行、列代码所组成,并增加了比例尺代码(表6.2),所有地形图的图号均由五个元素10位编码组成,如图6-3所示。
实验五地形图分副编号一、实验目的了解地形图分副编号的原理,掌握常用的地形图分副编号的方法二、实验要求采用新的地形图分幅编号的方法确定某地(38。
35,N,114。
20,E)所在的1:1万、1:5万、1:10万、1:25万、1:50万地形图的编号三、实验工具直尺、三角板、铅笔四、实验步骤1、确定该点所在的1:100万地形图图幅的编号列数=纬度/4 (有余数加1)行数=30+经度/6 (东正余数加1,西负减整数)2、确定其他比例尺地图的编号其余地形图的编号都以1:100万地形图作为基础,采用行列编号法进行编号。
将1:100万中所包括各种比例尺地图的经差和纬差划分为若干行和列,横行从上到下,纵列从左到右,用三位数字表示,如001、002、003等,行在前、列在后,附加在1:100万地形图之后。
中间是各种不同比例尺的代码。
编号组成:五种元素、10位代码五、实验结果六、分幅方法简介地形图的分幅方法有两种:一种是经纬网梯形分幅法或国际分幅法;另一种是坐标格网正方形或矩形分幅法。
前者用于国家基本比例尺地形图,后者用于工程建设大比例尺地形图。
一、经纬网国际分幅法:(一)新的分幅与编号标准92年12月,我国颁布了《国家基本比例尺地形图分幅和编号》新标准,1993年3月开始实施。
新的分幅与编号方法如下。
1、1∶100万图幅的分幅与编号1∶100万地形图分幅是采用国际标准分幅的经差6°、纬差4°为一幅图。
纬度在0°~60°之间,经差6°,纬差4°纬度在60°~76°之间,经差12°,纬差4°纬度在76°~88°之间,经差24°,纬差4°从赤道起向北或向南至纬度88°止,按纬差每4°划作22个横行,依次用A、B、……、V表示;从经度180°起向东按经差每6°划作一纵列,全球共划分为60纵列,依次用1、2、……、60表示。
实习报告班级:09测绘(2)班学号:05309216 姓名:杨再华一、实习名称:地形图分幅编号。
二、实习目的要求:1.通过具体图幅编号的计算,掌握基本比例尺地形图的分幅和编号(91年前和91年后)的方法。
2.已知某地的地理坐标为27°56′(N)112°46′(E)。
用图解法和解析法分别推算出该点所在的1:50万、1:5万、1:1万地形图的分幅和编号(91年前)。
3.已知某地的地理坐标为北纬39°9′,东经116°3′ 。
用解析法推算出该点所在的1:100万、1:50万、1:10万、1:5万、1:1万地形图的分幅和编号(91年后)。
4.已知某地所在的1:25万地形图的编号为J50C002003,求其西南图廓点的经纬度。
5.已知某地地形图的编号为J50G061003,求其东北图廓点的经纬度。
实习原理、方法:1:100万6 °4°144 1:10万30' 20' 1-144 J-50-51:10万30' 20' 4 1:5万15' 10' A、B、C、D J-50-5-B 1:10万30' 20' 64 1:1万3'45" 2'30" (1)…(64)J-50-5-(24) 1:5万15' 10' 4 1:2.5万 7'30" 5' 1、2、3、4 J-50-5-B-4经差、纬差没有变化,分幅均有1:100万地形图划分而成:1.每幅1:100万地形图划分为2行2列,共4幅1:50万地形图。
2.每幅1:100万地形图划分为4行4列,共16幅1:25万地形图。
3.每幅1:100万地形图划分为12行12列,共144幅1:10万地形图。
4.每幅1:100万地形图划分为24行24列,共576幅1:5万地形图。
5.每幅1:100万地形图划分为48行48列,共2304幅1:2.5万地形图。
地图学实验报告课程:地图学班级:******学号: ******姓名:******实验目的及要求:1.利用计算机编程实现地图图幅编号的计算。
2.深化对地图图幅编号计算的原理,地图图幅编号的计算的理解,并掌握其计算步骤。
3.提高自己的计算机语言编程能力。
4.实验完成后提交报告,实验总结,编写代码,要独立编程,程序稳定可行。
工具:Visual C++ 6.0实验感悟:此次实验,首先认真学习了书中对地图分幅编号的计算。
首先在数据输入的编辑框中添加了判断语句,以确保编辑框中输入数据的可用性。
在旧的比例尺分幅计算中,有时W计算完成后需要转换成英文大写或小写字母,此处运用了ASCII码进行了转换。
最后根据课件内容对程序进行了调试、验证。
通过这次试验,熟悉了新旧两种地图分幅编号的计算。
程序运行结果:程序代码://地图分幅的计算void CMyDlg::OnCal(){// TODO: Add your control notification handler code hereUpdateData();//字符转换int LDeg = atoi(m_LDeg.Right(m_LDeg.GetLength()-1));double LMin = strtod(m_LSec,NULL);int BDeg = atoi(m_BDeg);double BMin = strtod(m_BSec,NULL);int index;index = ((CComboBox*)GetDlgItem(IDC_COMBO1))->GetCurSel()+1;int i,j,c,d,W,V,n;//W所求比例尺图幅代号n代表划分为该比例尺后的列数c列号d行号CString C,D;double l,b;//l,b分别表示经差和纬差i = (int)(BDeg/4.0)+1;CString s = m_LDeg.Left(1);CString s1;//判断东经西经if(s == "E" || s == "e"){j = (int) (floor(LDeg/6.0))+31;}else if(s == "W" || s == "w"){j = 31-(int)(floor(LDeg/6.0));}else{MessageBox("输入经度错误", "Error", MB_ICONERROR );}//1:100万基本比例尺图幅计算s = "";s.Format(_T("-%d"),j);Old = (int)(i+64);Old+=s;New = (int)(i+64);s.Format(_T(" %d"),j);New+=s;//1:10万基本比例尺计算V=133;l=30.0*60;b=20.0*60;n=12;W = V-(int)((((int)(BDeg*3600+BMin*60))%(4*3600))/((int)b))*n +(int)((((int)(LDeg*3600+LMin*60))%(6*3600))/((int)l));s1.Format(_T("-%d"),W);Old1=Old+s1;switch(index){case 1://1:100万m_Old=Old;m_New=New;break;case 2://1:50万V=3;l=3*3600.0;b=2*3600.0;n=2;//旧的分幅编号W = V-(int)((((int)(BDeg*3600+BMin*60))%(4*3600))/((int)b))*n +(int)((((int)(LDeg*3600+LMin*60))%(6*3600))/((int)l));s = (int)(W+64);Old += "-";m_Old=Old+s;//新的分幅编号c=(int)(4*3600/b)-(int)(((int)(BDeg*3600+BMin*60)%(4*3600))/b);d=(int)(((int)(LDeg*3600+LMin*60)/(6*3600))/l)+1;C.Format(_T("%.3d"),c);D.Format(_T("%.3d"),d);m_New = New + " B"+C+D;break;case 3://1:25万V=13;l=1.5*3600;b=1.0*3600;n=4;//旧的分幅编号W = V-(int)((((int)(BDeg*3600+BMin*60))%(4*3600))/((int)b))*n +(int)((((int)(LDeg*3600+LMin*60))%(6*3600))/((int)l));s.Format(_T("-[%d]"),W);m_Old=Old+s;//新的分幅编号c=(int)(4*3600/b)-(int)(((int)(BDeg*3600+BMin*60)%(4*3600))/b);d=(int)(((int)(LDeg*3600+LMin*60)%(6*3600))/l)+1;C.Format(_T("%.3d"),c);D.Format(_T("%.3d"),d);m_New=New+" C"+C+D;break;case 4://1:10万m_Old=Old1;//新的分幅编号c=(int)(4*3600/b)-(int)(((int)(BDeg*3600+BMin*60)%(4*3600))/b);d=(int)(((int)(LDeg*3600+LMin*60)%(6*3600))/l)+1;C.Format(_T("%.3d"),c);D.Format(_T("%.3d"),d);m_New=New+" C"+C+D;break;case 5://1:5万V=3;l=15.0*60;b=10.0*60;n=2;//旧的分幅编号W = V-(int)((((int)(BDeg*3600+BMin*60))%(20*60))/((int)b))*n +(int)((((int)(LDeg*3600+LMin*60))%(30*60))/((int)l));s=(int)(W+64);m_Old=Old1+"-"+s;//新的分幅编号c=(int)(4*3600/b)-(int)(((int)(BDeg*3600+BMin*60)%(4*3600))/b);d=(int)(((int)(LDeg*3600+LMin*60)%(6*3600))/l)+1;C.Format(_T("%.3d"),c);D.Format(_T("%.3d"),d);m_New=New+" D"+C+D;break;case 6://1:2.5万//1:5万编号计算V=3;l=15.0*60;b=10.0*60;n=2;W = V-(int)((((int)(BDeg*3600+BMin*60))%(20*60))/((int)b))*n +(int)((((int)(LDeg*3600+LMin*60))%(30*60))/((int)l));s=(int)(W+64);m_Old=Old1+"-"+s;V=3;l=7.5*60;b=5*60;n=2;//旧的分幅编号W = V-(int)((((int)(BDeg*3600+BMin*60))%(10*60))/((int)b))*n +(int)((((int)(LDeg*3600+LMin*60))%(15*60))/((int)l));s.Format(_T("-%d"),W);m_Old+=s;//新的分幅编号c=(int)(4*3600/b)-(int)(((int)(BDeg*3600+BMin*60)%(4*3600))/b);d=(int)(((int)(LDeg*3600+LMin*60)%(6*3600))/l)+1;C.Format(_T("%.3d"),c);D.Format(_T("%.3d"),d);m_New=New+" F"+C+D;break;case 7://1:1万V=57;l=3.75*60;b=2.5*60;n=8;//旧的分幅编号W = V-(int)((((int)(BDeg*3600+BMin*60))%(20*60))/((int)b))*n +(int)((((int)(LDeg*3600+LMin*60))%(30*60))/((int)l));s.Format(_T("-(%d)"),W);m_Old = Old1+s;//新的分幅编号c=(int)(4*3600/b)-(int)(((int)(BDeg*3600+BMin*60)%(4*3600))/b);d=(int)(((int)(LDeg*3600+LMin*60)%(6*3600))/l)+1;C.Format(_T("%.3d"),c);D.Format(_T("%.3d"),d);m_New=New+" G"+C+D;break;case 8://1:5000//1:1万基本比例尺计算V=57;l=3.75*60;b=2.5*60;n=8;W = V-(int)((((int)(BDeg*3600+BMin*60))%(20*60))/((int)b))*n +(int)((((int)(LDeg*3600+LMin*60))%(30*60))/((int)l));s.Format(_T("-(%d)"),W);m_Old = Old1+s;V=3;l=1.875*60;b=1.25*60;n=2;//旧的分幅编号W = V-(int)((((int)(BDeg*3600+BMin*60))%150)/((int)b))*n+(int)((((int)(LDeg*3600*60+LMin*60*60))%(225*60))/((int)(l*60)));s=(int)(W+96);m_Old+="-"+s;//新的分幅编号c=(int)(4*3600/b)-(int)(((int)(BDeg*3600+BMin*60)%(4*3600))/b);d=(int)(((int)(LDeg*3600+LMin*60)%(6*3600))/l)+1;C.Format(_T("%.3d"),c);D.Format(_T("%.3d"),d);m_New=New+" H"+C+D;break;}if(m_BDeg == "" || m_BSec == "" || m_LSec == "" || m_LDeg == ""){if (m_BDeg == "" && m_BSec == "" && m_LSec == "" &&(m_LDeg == "E" || m_LDeg == "W")){MessageBox("请输入经度、纬度","错误",MB_ICONERROR);m_Old = "";m_New = "";}else{MessageBox("系统将空白处自动赋值为0","提示",MB_ICONEXCLAMATION);}}UpdateData(false);}//对话框的初始设置BOOL CMyDlg::OnInitDialog(){CDialog::OnInitDialog();// Add "About..." menu item to system menu.// IDM_ABOUTBOX must be in the system command range.ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);ASSERT(IDM_ABOUTBOX < 0xF000);CMenu* pSysMenu = GetSystemMenu(FALSE);if (pSysMenu != NULL){CString strAboutMenu;strAboutMenu.LoadString(IDS_ABOUTBOX);if (!strAboutMenu.IsEmpty()){pSysMenu->AppendMenu(MF_SEPARATOR);pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);}}// Set the icon for this dialog. The framework does this automatically // when the application's main window is not a dialogSetIcon(m_hIcon, TRUE); // Set big iconSetIcon(m_hIcon, FALSE); // Set small icon// TODO: Add extra initialization hereGetDlgItem(IDC_EDIT5)->EnableWindow(false);GetDlgItem(IDC_EDIT6)->EnableWindow(false);//设置图标m_hIcons[0] =LoadIcon(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDI_ICON1));m_hIcons[1] =LoadIcon(AfxGetApp()->m_hInstance,MAKEINTRESOURCE(IDI_ICON2));m_hIcons[2] =LoadIcon(AfxGetApp()->m_hInstance,MAKEINTRESOURCE(IDI_ICON3));m_hIcons[3] =LoadIcon(AfxGetApp()->m_hInstance,MAKEINTRESOURCE(IDI_ICON4));m_hIcons[4] =LoadIcon(AfxGetApp()->m_hInstance,MAKEINTRESOURCE(IDI_ICON5));m_hIcons[5] =LoadIcon(AfxGetApp()->m_hInstance,MAKEINTRESOURCE(IDI_ICON6));m_hIcons[6] =LoadIcon(AfxGetApp()->m_hInstance,MAKEINTRESOURCE(IDI_ICON7));SetClassLong(m_hWnd,GCL_HICON,(long)m_hIcons[0]);SetTimer(1,1000,NULL);//列表框((CComboBox*)GetDlgItem(IDC_COMBO1))->AddString("1:100万");((CComboBox*)GetDlgItem(IDC_COMBO1))->AddString("1:50万");((CComboBox*)GetDlgItem(IDC_COMBO1))->AddString("1:25万");((CComboBox*)GetDlgItem(IDC_COMBO1))->AddString("1:10万");((CComboBox*)GetDlgItem(IDC_COMBO1))->AddString("1:5万");((CComboBox*)GetDlgItem(IDC_COMBO1))->AddString("1:2.5万");((CComboBox*)GetDlgItem(IDC_COMBO1))->AddString("1:1万");((CComboBox*)GetDlgItem(IDC_COMBO1))->AddString("1:5000");((CComboBox*)GetDlgItem(IDC_COMBO1))->SetCurSel(0);//设置字体CFont * f;f = new CFont;f->CreateFont(18, // nHeight0, // nWidth0, // nEscapement0, // nOrientationFW_BOLD, // nWeightFALSE, // bItalicFALSE, // bUnderline0, // cStrikeOutANSI_CHARSET, // nCharSetOUT_DEFAULT_PRECIS, // nOutPrecisionCLIP_DEFAULT_PRECIS, // nClipPrecisionDEFAULT_QUALITY, // nQualityDEFAULT_PITCH | FF_SWISS, // nPitchAndFamily_T("宋体")); // lpszFacGetDlgItem(IDC_STATIC1)->SetFont(f);return TRUE; // return TRUE unless you set the focus to a control }void CMyDlg::OnQuit(){// TODO: Add your control notification handler code herethis->DestroyWindow();}void CMyDlg::OnTimer(UINT nIDEvent){// TODO: Add your message handler code here and/or call defaultstatic int index=1;SetClassLong(m_hWnd,GCL_HICON,(long)m_hIcons[index]);index = ++index%7;CDialog::OnTimer(nIDEvent);}void CMyDlg::OnHelp(){// TODO: Add your control notification handler code hereCAboutDlg dlgAbout;dlgAbout.DoModal();// GotoDlgCtrl((CEdit*)GetDlgItem(IDC_LDeg));}void CMyDlg::OnClear(){// TODO: Add your control notification handler code herem_BDeg = "";m_BSec = "";m_LSec = "";m_LDeg = "E";m_Old = "";m_New = "";((CComboBox*)GetDlgItem(IDC_COMBO1))->SetCurSel(0);GotoDlgCtrl((CEdit*)GetDlgItem(IDC_LDeg));}void CMyDlg::OnTimer(UINT nIDEvent){// TODO: Add your message handler code here and/or call default static int index=1;SetClassLong(m_hWnd,GCL_HICON,(long)m_hIcons[index]);index = ++index%7;CDialog::OnTimer(nIDEvent);}void CMyDlg::OnHelp(){// TODO: Add your control notification handler code hereCAboutDlg dlgAbout;dlgAbout.DoModal();// GotoDlgCtrl((CEdit*)GetDlgItem(IDC_LDeg));}void CMyDlg::OnClear(){// TODO: Add your control notification handler code herem_BDeg = "";m_BSec = "";m_LSec = "";m_LDeg = "E";m_Old = "";m_New = "";((CComboBox*)GetDlgItem(IDC_COMBO1))->SetCurSel(0);GotoDlgCtrl((CEdit*)GetDlgItem(IDC_LDeg));}。