Win32 Windows编程 七
2020-12-13 04:01
标签:win32 c++ windows 编程 mfc 定时器消息 1、 WM_TIMER 按照定时器设置的时间段,自动向窗口发送一个定时器消息WM_TIMER。优先级比较低 定时器精度比较低,毫秒级别,消息产生时间也精度比较低 2 、消息和函数 WM_TIMER : 消息ID wParam 定时器的ID lParam 定时器的处理函数
SetTimer
:设置一个定时器 KillTimer
: 结束一个定时器 TimerProc : 定时器处理函数 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 - 增加菜单项
MF_POPUP - uIDNewItem是一个子菜单句柄 MF_SEPARATOR - 增加分割项 MF_CHECKET/MF_UNCHECKED -设置和取消菜单项的对勾 MF_DISABLED / MF_ENABLE - 菜单项禁止和允许状态 2.2 菜单的命令响应 2.2.1 WM_CONMAND消息 当用户点击菜单、按钮控件等时,系统会向窗口发送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编程 七,搜素材,soscw.com Win32 Windows编程 七 标签:win32 c++ windows 编程 mfc 原文地址:http://blog.csdn.net/ctxbloger/article/details/37520809 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
BOOL KillTimer(
HWND hWnd, // handle to window 窗口的句柄
UINT_PTR uIDEvent // timer identifier 定时器ID
);
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 当前系统时间
);
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是一个字符串