关于MFC和android开发上的一些相近地方

简介:

大学的时候接触过MFC,不过那是在上数字图像处理处理的实验课上,做一组图片去噪程序时候用到的.而且,当时也是拿别人做好的框架,我自己增加一些去噪的算法实现的源码而已,对MFC谈不上多么深入的理解.

去年做手机开发,对android也有一定的了解.现在又在搞MFC了,看到有类似的地方,于是就先写这样一篇文章了.

1.布局文件的比较

android的布局文件都是工程的目录下:res/layout/*.xml ,当然这个*号代表的文件名是开发者自己起的名字.

MFC的布局文件,很奇怪,居然是一个.rc结尾的文件.用visual studio打开可以看到里面包含Dialog,Icon,Menu,StringTable,Version这些部分(根据工程的不同可能有所区别).Dialog底下的才是页面布局.从这点来看,MFC的布局文件不是一个普通的布局文件,而是个按钮,菜单,图标,常量等一些程序编译时需要的资源的一个汇总的文件.

2.图标资源

android所用到的图标或者图片都是放在res/drawable目录下的.当然,较新版本会为了适应不同分辨率在会对drawable拆开成小图标/中等图标/大图标文件夹.

MFC里面的图标资源,就直接放在工程的res目录下了.

3.一些常量

android会将使用到的常量放到res/values目录下的开发者指定的xml文件中;

MFC的rc文件中,倒是有个StringTable可以和android常量文件对应.不过,像我前面说的,MFC的rc文件,就是个汇总文件,有点大杂烩的样子.

4.如何找到所需的控件

android在工程目录下gen目录中,生成一个R.java的文件.这个文件中有程序所使用的一些控件的ID的编号.根据这个编号和对应的布局文件,就能在程序中使用对应的控件了.在android程序中,使用findViewById就可以找到对应的控件了,返回的结果是个view对象,需要做一次类型转换,转换到对应的具体控件类型,这样就能在程序中对控件做操作了.

MFC也有类似机制.不过它是在.rc文件同一级生成一个resource.h文件.使用:GetDlgItem()方法来获取,获取到的是一个控件的句柄,相当于这个控件的指针.

5.文本控件的值的设置与获取

android里面直接掉对应的.setText方法设置,调用.getText方法获取.

MFC里面比较常见的做法是先将文本控件和一个类的成员属性绑定起来.即在继承自Cwnd的子类的DoDataExchange方法里面,使用DDX_Text(pDX, 控件ID, 类的变量名)的方式将界面中的控件里面的值和类成员变量绑定起来.再通过Updata(True)将控件中的文本值刷回到类成员属性上.

6.事件

android里面一般都是调用setOnXXListner(new View.onXXListner(){})来增加事件处理.

MFC里面一般是通过在BEGIN_MESSAGE_MAP 和 END_MESSAGE_MAP之间,添加对应的事件(组件ID,对应的处理函数引用)这种方式来增加事件处理的.


本文转自leipei博客园博客,原文链接:http://www.cnblogs.com/leipei2352/archive/2012/10/11/2719262.html,如需转载请自行联系原作者

目录
相关文章
|
21天前
|
开发工具 Android开发
X Android SDK file not found: adb.安卓开发常见问题-Android SDK 缺少 `adb`(Android Debug Bridge)-优雅草卓伊凡
X Android SDK file not found: adb.安卓开发常见问题-Android SDK 缺少 `adb`(Android Debug Bridge)-优雅草卓伊凡
239 11
X Android SDK file not found: adb.安卓开发常见问题-Android SDK 缺少 `adb`(Android Debug Bridge)-优雅草卓伊凡
|
1月前
|
Java 开发工具 Maven
【01】完整的安卓二次商业实战-详细的初级步骤同步项目和gradle配置以及开发思路-优雅草伊凡
【01】完整的安卓二次商业实战-详细的初级步骤同步项目和gradle配置以及开发思路-优雅草伊凡
110 6
|
3月前
|
安全 数据库 Android开发
在Android开发中实现两个Intent跳转及数据交换的方法
总结上述内容,在Android开发中,Intent不仅是活动跳转的桥梁,也是两个活动之间进行数据交换的媒介。运用Intent传递数据时需注意数据类型、传输大小限制以及安全性问题的处理,以确保应用的健壯性和安全性。
203 11
|
3月前
|
移动开发 Java 编译器
Kotlin与Jetpack Compose:Android开发生态的演进与架构思考
本文从资深Android工程师视角深入分析Kotlin与Jetpack Compose在Android系统中的技术定位。Kotlin通过空安全、协程等特性解决了Java在移动开发中的痛点,成为Android官方首选语言。Jetpack Compose则引入声明式UI范式,通过重组机制实现高效UI更新。两者结合不仅提升开发效率,更为跨平台战略和现代架构模式提供技术基础,代表了Android开发生态的根本性演进。
118 0
|
7月前
|
JavaScript Linux 网络安全
Termux安卓终端美化与开发实战:从下载到插件优化,小白也能玩转Linux
Termux是一款安卓平台上的开源终端模拟器,支持apt包管理、SSH连接及Python/Node.js/C++开发环境搭建,被誉为“手机上的Linux系统”。其特点包括零ROOT权限、跨平台开发和强大扩展性。本文详细介绍其安装准备、基础与高级环境配置、必备插件推荐、常见问题解决方法以及延伸学习资源,帮助用户充分利用Termux进行开发与学习。适用于Android 7+设备,原创内容转载请注明来源。
1449 77
|
4月前
|
安全 Java Android开发
为什么大厂要求安卓开发者掌握Kotlin和Jetpack?深度解析现代Android开发生态优雅草卓伊凡
为什么大厂要求安卓开发者掌握Kotlin和Jetpack?深度解析现代Android开发生态优雅草卓伊凡
199 0
为什么大厂要求安卓开发者掌握Kotlin和Jetpack?深度解析现代Android开发生态优雅草卓伊凡
|
8月前
|
前端开发 Java Shell
【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
492 20
【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
|
8月前
|
JavaScript 搜索推荐 Android开发
【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡
【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡
281 8
【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡
|
8月前
|
Dart 前端开发 Android开发
【09】flutter首页进行了完善-采用android studio 进行真机调试开发-增加了直播间列表和短视频人物列表-增加了用户中心-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
【09】flutter首页进行了完善-采用android studio 进行真机调试开发-增加了直播间列表和短视频人物列表-增加了用户中心-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
207 4
【09】flutter首页进行了完善-采用android studio 进行真机调试开发-增加了直播间列表和短视频人物列表-增加了用户中心-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
|
9月前
|
缓存 前端开发 Android开发
【04】flutter补打包流程的签名过程-APP安卓调试配置-结构化项目目录-完善注册相关页面-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程
【04】flutter补打包流程的签名过程-APP安卓调试配置-结构化项目目录-完善注册相关页面-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程
393 12
【04】flutter补打包流程的签名过程-APP安卓调试配置-结构化项目目录-完善注册相关页面-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程

热门文章

最新文章