GDI编程通用框架及DC简介

176 未经授权,禁止转载了解课程
课程介绍
讨论{{interaction.discussNum ? '(' + interaction.discussNum + ')' : ''}}
适合人群
想学习Windows开发的学员
你将会学到
学习Windows窗口及消息机制、GDI编程、游戏编程
  • 学会Windows窗口及消息机制
  • 学会GDI编程:几何图形、位图、画笔画刷、字体等
  • 学会GDI简单动画编程及贪吃蛇游戏
课程简介

Windows游戏编程系列之1

GUI界面编程及游戏入门实战




1、Windows创建第一个窗口

WinMain入口函数5

进行Windows编程的调试手法6

窗口从哪里来?7

窗口编程的步骤7

窗口编程需要的主要结构8

窗口编程需要的主要API9



2、Windows的窗口过程与消息机制

如何留住窗口?12

1)Windows的消息与消息循环14

2)消息处理函数与常用消息17

3)Windows的窗口过程函数19



3、GDI编程之设备上下文

1)GDI的通用编程框架22

2)GDI的绘图步骤25

3)GDI获取设备句柄25


4、GDI编程之绘制几何图形

画点、线28

颜色COLORREF29

矩形29

画圆、饼图、弦图30



5、GDI编程之自定义画笔画刷

画笔简介32

画刷简介33

画笔案例33

画刷案例34



6、GDI编程之绘制文字

DrawText函数35

TextOut 函数 (wingdi.h)36

CreateFont函数37

绘制文本案例37


7、GDI编程之绘制位图

位图简介38

1)在资源中添加位图资源39

2)从资源中加载位图: LoadBitmap39

3)创建一个与当前DC相匹配的DC(内存DC)39

4)将bitmap放入匹配的DC中:SelectObject40

5)成像(1:1 比例 )40

6)取出位图40

7)释放位图41

8)释放匹配的DC41

绘制位图案例41



8、Windows鼠标键盘消息

一、键盘消息42

1、键盘消息42

2、消息参数:42

3、消息的使用:42

4、键盘消息的案例代码43

二、鼠标消息44

1、基本鼠标消息44

2、双击消息44

3、滚轮消息45

4、不响应双击消息45


9、Windows定时器消息

定时器消息介绍47

创建定时器47

关闭定时器47

定时器消息案例代码48


10、GDI游戏之跳舞动画

11、GDI游戏之走路动画

12、GDI贪吃蛇游戏实战

Food51

Snake52

按钮53

绘制蛇与食物53

窗口过程及各种消息的处理


展开更多
发布
头像

{{ item.user.nick_name }} {{ EROLE_NAME[item.user.identity] }}

置顶笔记
讨论图
{{ item.create_time }}回复
  • 删除

    是否确认删除?

    确认
    取消
  • {{ item.is_top == 1 ? '取消置顶' : '置顶'}}

    已有置顶的讨论,是否替换已有的置顶?

    确认
    取消
{{ tag.text}}
头像
{{ subitem.user.nick_name }}{{ EROLE_NAME[subitem.user.identity] }}
{{ subitem.create_time }}回复
删除

是否确认删除?

确认
取消
发布
{{pageType === 'video' ? '讨论区抢占沙发,可获得双倍学分' :'讨论区空空如也,你来讲两句~'}}
发布
{{tips.text}}
{{ noteHeaderTitle }} 笔记{{ hasMyNote ? '我的笔记' : '记笔记' }}
{{ hasMyNote ? '我的笔记' : '记笔记' }}
优质笔记
更新于:{{ $dayjs.formate('YYYY-MM-DD HH:mm:ss', item.last_uptime*1000) }}
头像
{{ detail.username }}

公开笔记对他人可见,有机会被管理员评为“优质笔记”

{{ noteEditor.content.length }}/2000

公开笔记
保存
提问

讲师收到你的提问会尽快为你解答。若选择公开提问,可以获得更多学员的帮助。

记录时间点
记录提问时视频播放的时间点,便于后续查看
公开提问
提交