UI(二)之正式过程
2018-12-04 09:48:25
1.SetWindowsHookEx ·钩子实际上是一个处理消息的程序段,通过系统调用,把它挂入系统。每当特定的消息发出,在没有到达目的窗口前,钩子程序就先捕获该消息,亦即钩子函数先得到控制权。这时钩子函数即可以加工处理(改变)该消息,也可以不作处理而继续传递该消息,还可以强制结束消息的传递。
2.LoadSysPolicies
// This function is not exception safe - will leak a registry key if exceptions are thrown from some places // To reduce risk of leaks, I've declared the whole function throw(). This despite the fact that its callers have // no dependency on non-throwing. BOOL CWinApp::_LoadSysPolicies() throw() { HKEY hkPolicy = NULL; DWORD dwValue = 0; DWORD dwDataLen = sizeof(dwValue); DWORD dwType = 0;
3.extern使用。举个例子
在iniFile中定义:
extern CIniFile* g_pConfig; //声明一个全局对象
同时,有在EarthNetUI.cpp中定义
CIniFile* g_pConfig = NULL; //全局配置文件对象
且未包含iniFile头文件,
如果去掉extern,报错重定义。
注释掉上面的话:会有一堆未定义的对象。试验后,include进iniFile之后也可以。
4.OnUpdateLayer
获取基站坐标并构建网图,刷新底图。
5.IMPLEMENT_DYNCREATE
IMPLEMENT_DYNCREATE(CMainFrame, CFrameWndEx)
6.extern CEarthNetUIApp theApp;解释
extern CEarthNetUIApp theApp; extern 是说这个变量已在别处定义, 其实就是在 CEarthNetUIApp 中已定义
7.系统学习MFC程序运行结构。
参考:https://blog.csdn.net/aasmfox/article/details/52793213 https://www.cnblogs.com/xzxl/p/7930418.html (基础) https://www.cnblogs.com/xzxl/category/1123449.html(系统学习) https://blog.csdn.net/fanwenyuan_fwy/article/details/39926683(整体流程)
构造完theApp这个全局对象后,就进入WinMian函数,它的代码在mfc代码所在目录下的appmodul.cpp文件中,这个函数名为_tWinMain,咋一看与我们在Win32所用的WinMain函数的名字不一样,其实_tWinMain是一个宏,到它的定义处一看,就知道它代表的正是WinMain,它的写法与我们在Win32程序中的WinMain函数是一样的。这个_tWinMain会调用一个函数AfxWinMain,这个函数在文件winmain.cpp中定义,而这个函数会有一条语句pThread->InitInstance(),pThread是一个窗口线程的指针,它的值由函数AfxGetThread()所得,根据多态性的原理,pThread会获得一个指向子类的指针,(子类是EarthNetUI),所以它会调用EarthNetUI类的成员函数EarthNetUI::InitInstance(),子类的这个函数InitInstance()函数是对基类的虚函数重写,会初始化一些程序运行所需要的资源。
---------------------
作者:ljianhui
来源:CSDN
原文:https://blog.csdn.net/ljianhui/article/details/8781991
版权声明:本文为博主原创文章,转载请附上博文链接!
8.开启多虚拟用户
服务器上搜索“用户”
9.工程应用参照
搜:“工程化应用文档”
搜:“使用说明”,主要包括安装过程
搜:“UserManager”,用户管理软件
搜:“杨徉”
搜:“安装”,主要包括安装包
搜:“青岛”有测试文档、“重庆”有一系列数据、
搜:“计量”有大量数据。
搜:“Inertial explorer”高精度软件
搜:“pdf”和“doc”
搜:“开发”
搜:“K508”
最后:
UI需要改的部分:参考站坐标框架,参照基站部分增加放大缩小。
修改基站和添加基站的页面区分开
UI(二)之正式过程的更多相关文章
- Hadoop Mapreduce分区、分组、二次排序过程详解[转]
原文地址:Hadoop Mapreduce分区.分组.二次排序过程详解[转]作者: 徐海蛟 教学用途 1.MapReduce中数据流动 (1)最简单的过程: map - reduce (2) ...
- (转)Java回收对象的标记 和 对象的二次标记过程
Java回收对象的标记 和 对象的二次标记过程 二次标记 针对这个问题,虚拟机的做法是进行两次标记,即第一次标记不在“关系网”中的对象.第二次的话就要先判断该对象有没有实现finalize()方法了, ...
- 浅谈Java回收对象的标记和对象的二次标记过程_java - JAVA
文章来源:嗨学网 敏而好学论坛www.piaodoo.com 欢迎大家相互学习 一.对象的标记 1.什么是标记?怎么标记? 第一个问题相信大家都知道,标记就是对一些已死的对象打上记号,方便垃圾收集器的 ...
- Android UI 绘制过程浅析(二)onMeasure过程
前言 View的绘制过程分为 measure.layout.draw三个步骤,接下来对这三个步骤逐一进行研究. measure方法的签名 public final void measure(int w ...
- Nutch学习笔记二——抓取过程简析
在上篇学习笔记中http://www.cnblogs.com/huligong1234/p/3464371.html 主要记录Nutch安装及简单运行的过程. 笔记中 通过配置抓取地址http://b ...
- Android在子线程中更新UI(二)
MainActivity如下: package cc.testui2; import android.os.Bundle; import android.view.View; import andro ...
- ALSA声卡驱动的DAPM(二)-建立过程
在上一篇文章中,我们重点介绍了widget.path.route之间的关系及其widget的注册: http://www.cnblogs.com/linhaostudy/p/8509899.html ...
- 知问前端——日历UI(二)
datapicker外观选项 属性 默认值/类型 说明 disabled false/布尔值 禁用日历 numberOfMonths 1/数值 日历中同时显示的月份个数.默认为1,如果设置3就同时显示 ...
- Hadoop Mapreduce分区、分组、二次排序过程详解
转载:http://blog.tianya.cn/m/post.jsp?postId=53271442 1.MapReduce中数据流动 (1)最简单的过程: map - reduce (2)定制了 ...
随机推荐
- [Codeforces 925C]Big Secret
Description 题库链接 给出 \(n\) 个数,让你生成这 \(n\) 个数的一个排列 \(A\) .定义 \(B_i = \bigoplus\limits_{j=1}^i A_j\) , ...
- ABP学习入门系列(六)(菜单和分页)
1,菜单.在最新的abp3.1.2中 菜单栏是在左侧的如下图(上中下的结构),中间部分就是我们要添加菜单的地方. ABP集成了通用的创建和显示菜单的方式,在展示层web下的appstart文件夹下找到 ...
- [Linux] Linux系统(登陆、退出、修密码)
登录linux系统,就是输入用户名,密码,回车就可以了 修改密码 使用命令passwd,输入新密码和确认密码,密码的规则要求较严,多试几次 使用命令whoami,查看当前用户信息 使用命令users或 ...
- 使用crontab调度任务
复杂的.分布式的.工作流式的调度可以通过azkaban来进行调度,除了执行调度任务之外,它还能进行定时调度.而对于简单的服务器任务,如执行一个小脚本,发送邮件等,可以使用crontab命令直接进行,在 ...
- JDK安装与环境变量全过程-鹏鹏
首先先讲下JDK的含义以及用处: JDK是 Java 语言的软件开发工具包,主要用于移动设备.嵌入式设备上的java应用程序.JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Jav ...
- centos7下更新firefox
下载最新版firefox 1.点击三条线-问号-firefox帮助-安装和更新-linux安装-系统和语言下载 保存到指定目录,比如home下 2.解压 tar xjf firefox-*.tar.b ...
- LeetCode CombinationSum II
class Solution { public: vector<vector<int> > combinationSum2(vector<int> &num ...
- javaweb jdbc实现简单的数据库基本操作和servlet的作用域以及jsp标签的使用
一,工具类,分页类和连接数据库jdbc package com.direct.util; import java.sql.Connection; import java.sql.DriverManag ...
- windows下生成上传git时需要用的SSH密钥
参考:Windows上传代码到Github 打开“Git Bash” 输入 ssh-keygen -C "your email" -t rsa 出现如下结果: 成功后,信息里会显示 ...
- adb调试桥(5037端口)
path里添加路径:../platform 查看设备 adb devices 杀死adb:adb kill -server 启动adb:adb start- server adb不能启动解决办法: 1 ...