windows 编程 —— 消息与参数(定时器、初始化消息、改变大小)

目录:

  • 定时器 WM_TIMER
  • 初始化消息 WM_CREATE  
  • 改变大小 WM_SIZE

定时器:

接收消息:WM_TIMER

参数wParam:wParam参数等于定时器的ID值(上述情形为1)。

参数lParam:,lParam参数为0

代码示例:

复制代码
#define TIMER_SEC 1
#define TIMER_MIN 2
//......
SetTimer (hwnd, TIMER_SEC, 1000, NULL) ; 
SetTimer (hwnd, TIMER_MIN, 60000, NULL) ;
//......
caseWM_TIMER:
    switch (wParam) {
    case TIMER_SEC:
            //每秒一次的处理
                  break ;
    case TIMER_MIN:
            //每分钟一次的处理
            break ;
}return 0 ;
复制代码

 

初始化消息Create:

接收消息:WM_CREATE

参数wParam:

参数lParam: 指向CREATESTRUCT(「建立结构」)结构的指针

复制代码
typedef struct tagCREATESTRUCTW {
    LPVOID      lpCreateParams;
    HINSTANCE   hInstance;
    HMENU       hMenu;
    HWND        hwndParent;
    int         cy;
    int         cx;
    int         y;
    int         x;
    LONG        style;
    LPCWSTR     lpszName;
    LPCWSTR     lpszClass;
    DWORD       dwExStyle;
} CREATESTRUCTW, *LPCREATESTRUCTW;
复制代码

使用拓展:在建立窗口时取得执行实体句柄

//从结构体
 ((LPCREATESTRUCT) lParam)->hInstance

//用整体变量取得
hInst = hInstance;

//子窗口信息域
GetWindowLong(hwnd, GWL_HINSTANCE);

 

改变大小:

接收消息:WM_SIZE

参数wParam:

参数lParam: 低位表示新的 宽x,高位表示新的高y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

定时器:

接收消息:

参数wParam:

参数lParam:


 

posted @   BensonLaur  阅读(573)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端
点击右上角即可分享
微信分享提示