UI(四)之拓扑图创建
关键函数:
1.LoadMap
void CTopology::LoadMap()
{
//m_map.RemoveAllLayers();
AddLayersBasemap();
//AddLayerCell();
AddLayerLine();
AddLayerStation();
m_map.ZoomToMaxExtents();
m_map.Redraw();
}
包含5个函数
1.1 AddLayersBasemap();
加载底图,暂时用不到
1.2//AddLayerCell();
添加网图
1.3AddLayerLine();
界面添加基线参数
1.4AddLayerStation();
添加基站图层
1.5m_map.ZoomToMaxExtents();
void CMap1::ZoomToMaxExtents()
{
InvokeHelper(0x1e, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
}
1.6m_map.Redraw();
void CMap1::Redraw()
{
InvokeHelper(0x15, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
}
2.BOOL CTopology::OnInitDialog() 包括1的LoadMap
3.BOOL CTopology::PreTranslateMessage(MSG* pMsg) 包括1的LoadMap
4.很多函数的的初始化都调用了 CPropertyPage::OnInitDialog(); 其中包括前面的函数 CTopology::OnInitDialog()
其在头文件afxwin.h的定义为:
// Overridables (special message map entries) 翻译为可重写项(特殊消息映射项)
virtual BOOL OnInitDialog();
意思是初始化函数的作用是虚函数重写,实现对话框初始化。
实现函数是:
BOOL CDialog::OnInitDialog()
{
// execute dialog RT_DLGINIT resource 执行对话资源
BOOL bDlgInit;
if (m_lpDialogInit != NULL)
bDlgInit = ExecuteDlgInit(m_lpDialogInit);
else
bDlgInit = ExecuteDlgInit(m_lpszTemplateName);
if (!bDlgInit)
{
TRACE(traceAppMsg, , "Warning: ExecuteDlgInit failed during dialog init.\n");
EndDialog(-);
return FALSE;
}
// transfer data into the dialog from member variables
if (!UpdateData(FALSE))
{
TRACE(traceAppMsg, , "Warning: UpdateData failed during dialog init.\n");
EndDialog(-);
return FALSE;
}
// enable/disable help button automatically
CWnd* pHelpButton = GetDlgItem(ID_HELP);
if (pHelpButton != NULL)
pHelpButton->ShowWindow(AfxHelpEnabled() ? SW_SHOW : SW_HIDE);
return TRUE; // set focus to first one
}
主要执行了三项操作:1、资源初始化;2、通过member数据初始化CEdit等,UpdateData(FLASE)3、就是Help按钮的处理,有此按钮就显示。
CPropertyPage 是一个从CDialog派生而来的一个类,基本功能与对话框类一样
关注:
EarthNet.h及对应cpp文件在全局中的重要性。
UI(四)之拓扑图创建的更多相关文章
- iOS开发UI篇—使用storyboard创建导航控制器以及控制器的生命周期
iOS开发UI篇—使用storyboard创建导航控制器以及控制器的生命周期 一.基本过程 新建一个项目,系统默认的主控制器继承自UIViewController,把主控制器两个文件删掉. 在stor ...
- iOS开发UI篇—控制器的创建
iOS开发UI篇—控制器的创建 说明:控制器有三种创建方式,下面一一进行说明. 一.第一种创建方式(使用代码直接创建) 1.创建一个空的IOS项目. 2.为项目添加一个控制器类. 3.直接在代理方法中 ...
- HTML5 UI框架Kendo UI Web教程:创建自定义组件(三)
Kendo UI Web包 含数百个创建HTML5 web app的必备元素,包括UI组件.数据源.验证.一个MVVM框架.主题.模板等.在前面的2篇文章<HTML5 Web app开发工具Ke ...
- HTML5 UI框架Kendo UI Web中如何创建自定义组件(二)
在前面的文章<HTML5 UI框架Kendo UI Web自定义组件(一)>中,对在Kendo UI Web中如何创建自定义组件作出了一些基础讲解,下面将继续前面的内容. 使用一个数据源 ...
- MFC原理第四讲.动态创建机制
MFC原理第四讲.动态创建机制 一丶要学习的知识点以及简介 动态创建是什么意思? 动态创建其实就是跟C++的new一样.都是创建对象.但是规避了C++语法的缺陷. 例如: char * ClassNa ...
- “全栈2019”Java第四章:创建第一个Java程序
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- 关于如何在 Unity 的 UI 菜单中默认创建出的控件 Raycast Target 属性默认为 false
关于如何在 Unity 的 UI 菜单中默认创建出的控件 Raycast Target 属性默认为 false 我们在 Unity 中通过 UI 菜单创建的各种控件,比如 Text, Image 等, ...
- Community Cloud零基础学习(四)Builder创建自定义的布局
前几篇讲了Community Cloud权限配置等信息,但是没有太讲过 Community如何进行配置layout,本篇主要描述使用Builder去进行符合需求的Community Layout的构建 ...
- IOS第四天(5:创建备份区按钮和判断结果)
创建备份区按钮和判断结果 /** 创建备选区按钮 */ - (void)createOptionButtons:(HMQuestion *)question { // 问题:每次调用下一题方法时,都会 ...
随机推荐
- 【React 资料备份】React v16.3之后的生命周期
React v16.4 的生命周期图 React v16.4 的生命周期 变更缘由 原来(React v16.0前)的生命周期在React v16推出的Fiber之后就不合适了,因为如果要开启asyn ...
- SSL编程(2).NET最简单的客户端
在Windows平台上,实现SSL的.NET类是System.Net.Security.SslStream类.这个类既可以用于建立SSL服务,也可以用来作为SSL客户端连接远端的SSL服务. 最简 ...
- APIO 2018 游记
上接CTSC 2018 游记 day1 早上大概八九点起来洗了个澡跑到隔壁寝发现 tj 还在??? 原来昨天晚上听错名字了... 下午一起去 wfj 王府井玩,陪李总逛逛奢侈品店... 走了两三个小时 ...
- SHELL脚本攻略(学习笔记)--2.1 cat
cat命令 输出一个或多个文件的内容. cat [OPTION]... [FILE]... 选项说明 -n:显示所有行的行号 -b:显示非空行的行号 -E:在每行行尾加上$符号 -T:将TAB符号输出 ...
- PHP strlen()函数和strpos()函数
strlen() 函数返回字符串的长度(字符数) 代码: <?php echo strlen("Hello world!"); ?> 上面的代码将输出:12 ...
- OpenDigg iOS开源项目月报201704
由OpenDigg 出品的iOS开源项目月报第一期来啦.我们的iOS开源月报集合了OpenDigg一个月来新收录的优质的iOS开源项目,方便iOS开发人员便捷的找到自己需要的项目工具等. Transi ...
- C++虚析构函数解析
当派生类对象从内存中撤销时一般先运行派生类的析构函数,然后再调用基类的析构函数. 如果用new运算符建立的派生类的临时对象,对指向基类的指针指向这个临时对象当用delete运算符撤销对象时,系统执行的 ...
- 乐字节-Java8新特性-接口默认方法
总概 JAVA8 已经发布很久,而且毫无疑问,java8是自java5(2004年发布)之后的最重要的版本.其中包括语言.编译器.库.工具和JVM等诸多方面的新特性. Java8 新特性列表如下: 接 ...
- 奇妙的数字-2015省赛C语言A组第三题
奇妙的数字 小明发现了一个奇妙的数字.它的平方和立方正好把0~9的10个数字每个用且只用了一次.你能猜出这个数字是多少吗? 请填写该数字,不要填写任何多余的内容.
- python深拷贝浅拷贝
python深拷贝和浅拷贝问题: 什么是深拷贝? (个人理解)深拷贝就是将原有的数据一模一样的拷贝一份,然后存到另一个地址中,而不是引用地址 什么是浅拷贝? (个人理解)就是引用地址 (1)用等于号的 ...