- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第 5 章 Win32编程
- 2 -
本章目标
理解Windows应用程序的运行机制
理解窗体和事件驱动的概念
熟悉常用的Windows数据类型
掌握VS2010下UNICODE编程的方法
掌握窗体的创建方法
理解设备描述表的概念
掌握GDI简单绘图
Windows编程基础—WINDOWS程序的内部运行原理
箭头①表示操作系统操纵计算机设备完成一定的功能
箭头②表示操作系统能够感知输入输出设备状态的变化
箭头③表示应用程序可以通知操作系统执行某个具体的动作
箭头④表示操作系统能够将输入设备的变化上传给应用程序
- 3 -
Windows编程基础—API与SDK
API :Application Programming Interface
Windows操作系统提供的用于Windows开发的的函数
SDK:Software Development Kit
Windows SDK包括API函数声明所在的头文件、链接库、帮助文档、辅助工具等
进行Windows应用程序开发必须包含Windows.h头文件
- 4 -
Windows编程基础—事件与消息
- 5 -
数据类型
说明
ATOM
原子数据,在系统内保证值是唯一的
BYTE
8位无符号字符
WORD
16位无符号整数
LONG
32位有符号整数
DWORD
32位无符号整数,是WORD的两倍长度
UINT
32位无符号整数
BOOL
布尔值
TCHAR
跨字符集字符类型(MBCS或UNICODE)
LPTSTR
32位指针,指向字符串,此字符串可移植到Unicode和DBCS双字符集
LPCTSTR
32位指针,指向常量字符串,此字符串可移植到Unicode和DBCS双字符集
LPVOID
32位指针,可指向任何类型数据
LPRESULT
32位数值,作为窗口函数或CALLBACK函数的返回类型
WNDPROC
32位指针,指向一个窗口函数
LPARAM
32位数值,作为窗口函数和消息处理函数的消息参数
WPARAM
32位数值,作为窗口函数和消息处理函数的消息参数
Windows编程基础—常用的Windows数据类型
- 6 -
Windows编程基础—窗体
- 7 -
Windows编程基础—句柄
句柄
说明
HWND
窗体句柄
HBITMAP
位图句柄
HICON
图标句柄
HMENU
菜单句柄
HINSTANCE
应用程序实例句柄
HDC
设备环境句柄
HCURSON
光标句柄
HFONT
字体句柄
HPEN
画笔句柄
HBRUSH
画刷句柄
HGDIOBJ
通用绘图对象句柄
- 8 -
Windows编程基础—国际化编程
为了支持国际化编程,可以让程序支持UNICODE(双字节字符集)编程,这样不论在哪个国家,程序都能正常运行和显示。
在windows.h中,几乎所有的用于处理字符串的API函数都使用TCHAR、LPTSTR和LPCTSTR三种数据类型。
如果需要使用TCHAR等数据类型,在用SDK编程时需要包含tchar.h头文件,并且常量字符串需要用到宏“_T”。
//演示TCHAR等数据类型的使用
#include tchar.h
#include Windows.h
int main(int argc,TCHAR* argv[])
{
TCHAR sCity[] = _T(hello);
//调用API函数显示字符串
MessageBox(0,sCity, _T(测试),MB_OK);
}
- 9 -
Windows编程基础—应用程序文件组成
文件类型
扩展名
说明
源程序文件
.h、.c、.cpp
源程序代码
资源描述文件
.rc
描述源程序使用的各种资源
资源文件
.ico、.bmp、.cur等
源程序中用到的外部资源,例如图标、位图、光标等
项目文件
.vcproj
Visual Studio利用项目文件组织管理项目,进一步编译连接程序
- 10 -
源程序组成结构—WinMain函数
int WINAPI WinMain(
HINSTANCE hInstance, //应用程序当前实例句柄
HINSTANCE hPrevInstance, //保留,一直是NULL
LPSTR lpCmdLine, //指向程序命令行参数的指针
int nCmdShow //应用程序开始执行时窗口显示方式的整数值标示
);
- 11 -
源程序组成结构—WinMain函数
WNDCLASS wndclass;
wndclass.style = CS_HREDRAW | CS_VREDRAW;
wndclass.lpfnWndProc = WndProc;
wndclass.cbCl
您可能关注的文档
- (HTML5程序设计及实践)第1章HTML5简介.ppt
- (HTML5程序设计及实践)第2章HTML5布局.ppt
- (HTML5程序设计及实践)第3章HTML5表单.ppt
- (HTML5程序设计及实践)第4章HTML5画布.ppt
- (HTML5程序设计及实践)第5章HTML5拖放.ppt
- (HTML5程序设计及实践)第6章HTML5音频和视频.ppt
- (HTML5程序设计及实践)第7章HTML5Web存储.ppt
- (HTML5程序设计及实践)第8章HTML5应用程序缓存.ppt
- (HTML5程序设计及实践)第9章HTML5多线程.ppt
- (HTML5程序设计及实践)第10章HTML5手机应用开发.ppt
- 小学数学图形拼搭活动中学生空间想象力培养的差异化教学研究课题报告教学研究课题报告.docx
- 高中语文教育资源内容智能化设计与学生文学鉴赏风格适配分析教学研究课题报告.docx
- 高中生肥胖群体肠道菌群β多样性研究及其对学业负担的影响教学研究课题报告.docx
- 初中生对AI伦理困境的案例教学法研究教学研究课题报告.docx
- 小学科学教育中科学实践活动对学生科学态度的促进作用研究教学研究课题报告.docx
- 高中物理教学中粒子物理模拟的教学应用课题报告教学研究课题报告.docx
- 2026年5G基站建设行业技术演进与发展趋势报告.docx
- 高中生运用地理数据分析评估全球变暖对农业生态补偿的影响课题报告教学研究课题报告.docx
- 云计算与边缘计算在小学科学探究教学中的架构优化与应用研究教学研究课题报告.docx
- 基于情境创设的小学语文口语交际教学评价体系构建教学研究课题报告.docx
原创力文档


文档评论(0)