定时器消息

1、 WM_TIMER

依照定时器设置的时间段,自己主动向窗体发送一个定时器消息WM_TIMER。优先级比較低

定时器精度比較低。毫秒级别。消息产生时间也精度比較低

2 、消息和函数

WM_TIMER : 消息ID

wParam  定时器的ID

lParam  定时器的处理函数

SetTimer
:设置一个定时器

	UINT_PTR SetTimer(
HWND
hWnd, // handle to window 窗体的句柄 能够为NULL
UINT_PTR nIDEvent, // timer identifier 定时器的ID 0为不预设ID
UINT uElapse, // time-out value 定时器时间间隔
TIMERPROC lpTimerFunc // timer procedure 定时器的处理函数, 能够为NULL
);
	返回一个创建好的定时器ID

KillTimer
: 结束一个定时器

	BOOL KillTimer(
HWND
hWnd, // handle to window 窗体的句柄
UINT_PTR uIDEvent // timer identifier 定时器ID
);

TimerProc : 定时器处理函数

	VOID CALLBACK TimerProc(
HWND
hwnd, // handle to window 窗体句柄
UINT uMsg, // WM_TIMER message WM_TIMER消息ID
UINT_PTR idEvent, // timer identifier 定时器ID
DWORD dwTime // current system time 当前系统时间
);

3、使用方式

3.1 创建定时器

3.1.1 指定窗体句柄HWND 那么TIMERPROC參数能够为空,那么WM_TIMER消息将会发送给指定窗体,

假设未指定,TIMERPROC不能为空,必须指定定时器处理程序。

3.1.2 假设定时器ID SetTimer会依照这个ID创建定时器。假设未指定,会返回一个创建定时器ID

3.2  处理定时器消息

能够依据消息传入定时器ID号 分别处理

3.3  结束定时器

在不使用时。 KillTimer 结束定时器

菜单

1、菜单基础

菜单- 每一个菜单会有一个HMENU句柄

菜单项:每一个菜单项会有一个ID号。能够依据这个ID运行不同的操作

2、菜单创建

2.1 菜单的创建

CreateMenu -  MENU 菜单

CreatePopupMenu - POPUPMENU 弹出式菜单

AppendMenu - 添加菜单项

BOOL AppendMenu(
HMENU
hMenu, // handle to menu 菜单句柄
UINT uFlags, // menu-item options 菜单项标识
UINT_PTR uIDNewItem, // identifier, menu, or submenu 菜单项的ID或者自带单句柄
LPCTSTR lpNewItem // menu-item content 菜单项的名称
);
uFlags

MF_STRING - lpNewItem是一个字符串

MF_POPUP -  uIDNewItem是一个子菜单句柄

MF_SEPARATOR - 添加切割项

MF_CHECKET/MF_UNCHECKED -设置和取消菜单项的对勾

MF_DISABLED  / MF_ENABLE - 菜单项禁止和同意状态

2.2 菜单的命令响应

2.2.1 WM_CONMAND消息

当用户点击菜单、button控件等时,系统会向窗体发送WM_COMMAND消息。

WPARAM: HIWORD 通知消息的标识

LOWORD  产生消息ID号/或者其它一些东西

LPARAM: 控件的句柄, 对于菜单为空

2.2.2 命令处理

依据消息项的ID号 作对应处理

2.3 菜单项的状态

2.3.1 WM_INITMENUPOPUP 消息

当用户点击菜单显示弹出式菜单之前。下同会向窗体发送WM_INITMENUPOPUP

WPARAM 是菜单句柄

LPARAM : LOWORD 菜单位置

HIWORD 是否是系统菜单

2.3.2 命令处理

Win32 Windows编程 七的更多相关文章

  1. Win32 Windows编程 十

    一 Windows画图 1 图形绘制 1.1 图形绘制的方式 获取到画图的句柄,设备描写叙述符(DC).使用对应的画图API.在设备上绘制图形 1.2 颜色 RGB,每种颜色8位,共24位颜色 32位 ...

  2. Win32 Windows编程 十二

    一.对话框 1.对话框的分类 2.对话框的基本使用方式 3.对话框资源 4.有模式对话框的使用 5. 无模式对话框的使用 5.1 加入对话框资源 5.2 定义窗体处理函数 BOOL CALLBACK ...

  3. Win32 Windows编程 九

    资源的使用 1 资源文件 图标 光标 字符串 菜单  加速键 对话框资源位图等等 资源脚本文件 - 扩展名为RC文件 定义了资源和相关文件等信息 资源编译器 - RC.exe 2 图标资源 ICON ...

  4. 【Windows编程】系列第七篇:Menubar的创建和使用

    上一篇我们学习了利用windows API创建工具栏和菜单栏,与上一篇紧密联系的就是菜单栏,菜单栏是一个大多数复杂一些的Windows应用程序不可或缺的部分.比如下图就是Windows自带的记事本的菜 ...

  5. Windows编程 Windows程序的生与死(中)

    <pre style=""><pre class="cpp" name="code">1 #include < ...

  6. 【Windows编程】系列第六篇:创建Toolbar与Statusbar

    上一篇我们学习了解了如何使用Windows GDI画图,该应用程序都是光光的静态窗口,我们使用Windows应用程序,但凡稍微复杂一点的程序都会有工具栏和状态栏,工具栏主要用于一些快捷功能按钮.比如典 ...

  7. 【Windows编程】系列第十篇:文本插入符

    大家知道,在使用微软的编程环境创建工程时会让你选择是控制台模式还是Windows应用程序.如果选择控制台的console模式,就会在运行时出现一个黑洞洞的字符模式窗口,里面就有等待输入一闪一闪的插入符 ...

  8. 【Windows编程】系列第八篇:通用对话框

    上一篇我们学习了菜单的基本编程,本篇来了解一下通用对话框的使用.Windows系统之所以是目前最流行的桌面系统,也是因为Windows有一套标准化,统一友好的交互界面,比如菜单.工具栏.状态栏以及各个 ...

  9. 【Windows编程】系列第五篇:GDI图形绘制

    上两篇我们学习了文本字符输出以及Unicode编写程序,知道如何用常见Win32输出文本字符串,这一篇我们来学习Windows编程中另一个非常重要的部分GDI图形绘图.Windows的GDI函数包含数 ...

随机推荐

  1. 教你轻松在React Native中集成统计(umeng)的功能(最新版)

    关于在react-native中快速集成umeng统计,网上的文章或者教程基本来自----贾鹏辉老师的文章http://www.devio.org/2017/09/03/React-Native-In ...

  2. LINUX常用文件说明

    一.网络配置 1.修改主机名 /etc/sysconfig/network或/etc/hosts 2.开启或关闭网卡 ifconfig eth0 down/up 3.linuxa下查看一个网卡绑定的所 ...

  3. BNU 13174 Substring Frequency

    3C. Substring Frequency Time Limit: 1000ms Memory Limit: 32768KB 64-bit integer IO format: %lld      ...

  4. zoj 2886 Look and Say

    Look and Say Time Limit: 2 Seconds      Memory Limit: 65536 KB The look and say sequence is defined ...

  5. mysql 分段统计数据

    一个简单的分段统计的问题:student 表{id,name,score} 字段,统计各个分数段的人数.规则:60以下不及格,60-80良,80-100优. SELECT sum(CASE when ...

  6. 72.spring boot讨论群【从零开始学Spring Boot】

    [从零开始学习Spirng Boot-常见异常汇总] 如果您碰到什么问题,您可以加群进行探讨,在群里有加入的都是Spring Boot志同道合的朋友: Spring Boot QQ交流群:193341 ...

  7. FZU-2147-2147 A-B Game,规律题。。

    Problem 2147 A-B Game Time Limit: 1000 mSec Memory Limit : 32768 KB  Problem Description Fat brother ...

  8. [HNOI2015]实验比较 树形dp+组合数学

    在合并的时候有可以加等于,或者继续用小于, 比如siz[x]和siz[y]合并,小于的区间为max(siz[x],siz[y])<=k<=siz[x]+siz[y], 然后就是合并成多少个 ...

  9. JS把数字金额转换成中文大写数字的函数

    //把数字金额转换成中文大写数字的函数 function num2rmb ($num){ $c1="零壹贰叁肆伍陆柒捌玖"; $c2="分角元拾佰仟万拾佰仟亿" ...

  10. jxls使用模版导出Excel

    /**     * 使用模版导出Excel     */    @SuppressWarnings({ "unchecked", "deprecation" } ...