zoukankan      html  css  js  c++  java
  • Win32 Windows编程 七

    定时器消息

    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 命令处理















  • 相关阅读:
    过河卒(Noip2002)
    暑假学习日记2013/7/18
    暑假学习日记2013/7/16
    iOS中利用CoreTelephony获取用户当前网络状态(判断2G,3G,4G) by徐文棋
    隐藏键盘的N种方法
    cell重用
    关于viewControllers之间的传值方式
    iOS开发之工欲善其事,必先利其器
    NSLog输出格式及随机数
    iOS团队代码规范
  • 原文地址:https://www.cnblogs.com/blfbuaa/p/6821897.html
Copyright © 2011-2022 走看看