博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
windows 程序设计的一些总结
阅读量:6093 次
发布时间:2019-06-20

本文共 2061 字,大约阅读时间需要 6 分钟。

// 20170809 ,毕业的生活wagnxm老师给了我三门课程的代码和课件,一直超级喜欢老师的编程风格。曾经翻看过几回,每一次都因为看不懂windows的消息模式和MFC的工作机制而放弃了,以为每一个函数都是要背下来的,MFC的代码中间过程的代码也是自己填充的。这次没有放弃,而是结合着几本不同的教材硬看了几天,终于把windows 32 位编程和MFC编程的基本原理搞明白,并且能完成一些简单的功能,总算是入门了。原理性质的内容就不在这里讲了,就是消息驱动机制。

 

一、一些踩过的坑。

1 - 工程设置  : 运行windows 游戏编程的代码时记得添加附加依赖项 winmm.lib

2 - playsound : 用rc的方法,定义int ,用MAKEINTRESOURCE调用,或者不用rc,直接 TEXT("filename.wav")

 

二、windows 编程模型

windows编程就是掌握消息驱动机制的过程。而且在《windows程序设计》和《MFC程序设计》这两本书的开头部分都着重讲了这个过程,当然MFC的编程在掌握基本的套路后,就是多多参看MSDN,VC6.0的程序在VS2017也能跑,虽说MFC没落了,但是这种兼容性还是保证了这部分学习对于编程环境的弱依赖性,在此.sln皆为2017, .dsw为VC6程序,而且尽量避免VC6的使用。

 

MFC的入门可以从CFile、CString、Button、EDTI 这4个入手,一共是两个类和两个控件。项目创建时选择 Dialog base,搭配C++基本的用法就能完成这些项目。当然,还可以插入控制台用于调试。要习惯查询MSDN这种开发方式。

以下是windows 开发的GitHub地址,原来的仓库被我用来实践git 命令搞得乱七八糟的,删了重新创建一个。

 

project 说明:

1.add - 演示EDIT Control 和 Button 的使用,在DoDataExchange,文本框绑定接收数据的变量,在OnButton中,j将 CString --> float,Unicode下用_tstof,非Unicode下用 atof,f_result调用Format输出结果,Format中对CString用 _T 这个宏。

      

2.CFile

学习使用CFile,参考MSDN的解释进行编写,开发windows程序离不开MSDN,非常可惜的是,VS2013以后,我就没有在本地见过配置好的MSDN,推荐网页版,离线情况下用VC6.0版本的吧。

3.consoleInMfc

在MFC程序中使用控制台,VS2017不支持,这是从《十年VC++老鸟》上找的程序。其实用BUTTON,EDIT Control,CString用于调试也是可行的。占用一块儿页面的位置。

4. RegEdit

查看,修改注册表的程序。把前面的知识综合运用。

 

 

 

5、MFC 编程中涉及的一些数据类型及解释

BOOL // TRUE | FALSE

BSTR // 32 BIT CHAR POINTER
BYTE // 8 BIT ,likes unsigned char in c
COLORREF // 32BIT DESCRIBE COLOR,USED IN GDI
DWORD // 32BIT UNSINGNED INT
LONG // 32BIT INT (+ -)
LPARAM // 32BIT ,OFFTEN USED FOR FUNCTION'S Parameters
LPCSTR // POITER TO 32BIT CONST STR
LPSTR // POITER TO 32BIT STR
LPCTSTR // POITER TO 32BIT CONST STR,Used for Unicode and DBCS
LPTSTR // POITER TO 32BIT STR,USED for Unicode and DBCS
LPVOID // POITER TO ANY TYPE
LRESULT // window process or 32bit value callback function returns
UINT // 32BIT UNSIGNED INT
WNDPROC // 32BIT POITER TO WINDOWS FUNCTION
WORD // 16BIT UNSIGNED INT
WPARAM // 32BIT VALUE IN WIN32,OFTEN AS FUNCTION'S PARAMETERS

/*ONLY IN MFC*/

POSITION // POSITION OF ELEMENT IN SET

LPCRECT // 32BIT POITER TO A CONST RECT STRUCT

转载于:https://www.cnblogs.com/hanxinle/p/6679165.html

你可能感兴趣的文章
JSONP实现跨域
查看>>
Python基础班---第一部分(基础)---Python基础知识---计算机组成原理
查看>>
虚拟机VMware 9安装苹果MAC OSX 10.8图文教程
查看>>
POJ3694 Network
查看>>
Matconvnet环境配置一些坑
查看>>
微信小程序开发-框架
查看>>
redo、undo、binlog的区别
查看>>
DropDownList 控制日期控件显示格式
查看>>
RecycleView设置顶部分割线(记录一个坑)
查看>>
【设计模式系列】单例模式的7种写法
查看>>
汉字转拼音 (转)
查看>>
Machine Learning Techniques -6-Support Vector Regression
查看>>
会计基础_001
查看>>
C/C++——#和##操作符
查看>>
Cordova 开发环境搭建及创建第一个app
查看>>
ajax请求拿到多条数据拼接显示在页面中
查看>>
关于React的require添加动态变化的路径
查看>>
小程序: 查看正在写的页面
查看>>
C++ 经典开源
查看>>
LayoutParams
查看>>