用SendMessage/PostMessage发送WM_SIZE消息

浅析SendMessage与PostMessage的区别 SendMessage与PostMessage的区别应该是面试中经常问到的问题,我们可能只会简单用两句话来描述二者的区别。今天就二者的区别做一个深入的分析。按照国际惯例,msdn上这样描述SendMessage:Sends the specified message to a window or windows. The SendMessage function calls the window p 阅读详情

一般情况下,调用MoveWindow()/SetWindowPos()函数会自动引发WM_SIZE消息,但有时候也需要手工发送该消息,使窗口调整大小和布局。

SendMessage()和PostMessage()函数发送WM_SIZE的格式是一样的,在此就只以SendMessage()函数为例。

LONG  xy;
xy =MAKELONG(x, y);
SendMessage(WM_SIZE, WPARAM(SIZE_MAXSHOW),(LPARAM)xy);

其中:x  = 宽度, y = 高度。宽度在低位,高度在高位。在发送消息时,将宽度(x),高度(y)合并成一个LONG类型。

在处理该消息中,再分解出相应的宽度和高度。宽度(x) = LOWORD(lParam),高度(y) = HIWORD(lParam)。一般不需要我们来解析,因为在OnSize()响应函数中系统已经帮我们解析出来了,即cx(宽度),cy(高度),nType = wParam。


【控件功能】我来做练习-PostMessage和SendMessage有什么区别? PostMessage和SendMessage有什么区别? 阅读详情

相关推荐

Windows消息机制与SendMessage函数详解

Windows消息机制是GUI编程的核心基础,通过消息队列实现用户输入、窗口操作等事件的传递与处理。SendMessage作为关键API函数,采用同步调用方式直接向目标窗口发送消息并等待返回结果,其核心参数wMsg决定了消息类型与处理逻辑。该机制在控件交互、窗口管理、进程通信等场景具有重要技术价值,特别是在VB等传统开发环境中,通过WM_*标准消息或WM_USER自定义消息可实现跨进程控制、系统级操作等高级功能。理解SendMessage与PostMessage的同步/异步区别,以及正确处理窗口句柄和消息参

weixin_33391446的博客 347

【MFC】如何手动发送WM_SIZE系统消息

WM_SIZE作为系统的一个内置的核心消息,他是如何运作的呢? 通过本篇源码的解析 可以清楚的了解MFC内部消息的流向,这是作为C语言程序员理应了解的东西,以此消息为实例,我们便可以清楚的知道其他系统消息是如何运作的,对于MFC原理的了解以及灵活的实际应用来说有重大意义。

蒙蒙plus 3612

LS-DYNA超高速碰撞仿真入门:从SPH算法配置到铝靶板穿孔分析(附K文件模板)

本文详细介绍了使用LS-DYNA中的SPH(光滑粒子流体动力学)算法进行超高速碰撞仿真的完整流程。以铝弹丸撞击铝靶板为例,从SPH算法原理、LS-PrePost前处理、材料模型与状态方程设置,到接触定义、边界条件及K文件生成,提供了系统的入门指导和关键参数调试经验,帮助工程师高效模拟材料破碎、穿孔等极端变形问题。

h0i1j2k3l的博客 724

Windows消息机制

SENDMESSAGE|WM_NULL=0|| SENDMESSAGE|WM_CREATE=1|应用程序创建一个窗口| SENDMESSAGE|WM_SIZE=5|改变一个窗口的大小| SENDMESSAGE|WM_ACTIVATE=6|一个窗口被激活或失去激活状态;| SENDMESSAGE|WM_SETFOCUS=7|获得焦点后| SENDMESSAGE|WM_KILLFOCUS=8...

醉逍遥的博客 703

node-red 可视化探索

配置socket选择配置流程产生url。

weixin_44133581的博客 3411

数学建模 种群竞争模型 学习笔记

模型背景 应用场景 种群竞争模型 例如 s1=0.5,则表示对于供养甲的资源来讲,单位数量的乙的消耗为单位数量的甲的0.5倍,即表示乙对于该资源的占有能力是甲的0.5倍(即竞争力弱) 仿真结果及分析 (1)设置自然增长率 r1=r2=1 (2)改变自然增长率 r1=r2=0.3 (3)修改甲和乙的最大容量 n1=10000, n2=100 (4)修改甲和乙的初始数量 x1=10, x...

Test_tju的博客 2028

SendMessage

为什么80%的码农都做不了架构师?>>> ...

weixin_33860737的博客 656

鲁棒优化入门(一)——工具箱Xprog和RSOME的安装与使用

Xprog是由新加坡国立大学的Peng Xiong于2016年发布的一款matlab工具箱,可以用于求解确定性优化、随机优化、鲁棒优化和分布式鲁棒优化问题。 还有一个针对鲁棒随机优化设计的matlab工具箱——RSOME(Robust Stochastic Optimization Made Easy),也可以用来解决一般的线性规划、随机规划、鲁棒优化和数据驱动的分布式鲁棒优化问题。...............

配电网和matlab的博客 1万+

深度解析VC中的消息传递机制(上)

    什么是消息?    消息系统对于一个win32程序来说十分重要,它是一个程序运行的动力源泉。一个消息,是系统定义的一个32位的值,他唯一的定义了一个事件,向Windows发出一个通知,告诉应用程序某个事情发生了。例如,单击鼠标、改变窗口尺寸、按下键盘上的一个键都会使Windows发送一个消息给应用程序。    消息本身是作为一个记录传递给应用程序的,这个记录中包含了消息的类型以及其他信息。

2445

光栅衍射有入射角时_衍射型多焦点人工晶体光学原理

多焦点人工晶体如何把光线分成多个焦点的?这个问题大部分专业书只是蜻蜓点水,并没有讲明白。希此文粗浅的解释,能帮您加深理解,请多指正。接下来,我将按照一下历史发展的顺序讲解一下:光的认识、菲涅尔灯塔(菲涅尔透镜)、菲涅尔波带盘(半波带盘)、多焦点人工晶体。一:首先复习一下光的认识历史。我们现在都知道光是一种电磁波,具有波粒二相性,但是认识光的本质也经历非常曲折漫长的过程。牛顿时代的几何光...

weixin_28963467的博客 2351

BMS菊花链芯片怎么选?一张表对比ADI、TI、NXP五大厂家的隔离通信方案

本文深入对比了ADI、TI、NXP等五大厂商的BMS菊花链芯片隔离通信方案,涵盖技术演进、核心参数和场景化选型策略。通过实测数据和开发经验分享,帮助工程师在新能源汽车和储能系统中选择最优方案,提升通信可靠性和成本效益。

weixin_33724046的博客 432

SendMessage 用法详解及消息详解

函数功能:该函数将指定的消息发送到一个或多个窗口。此函数为指定的窗口调用窗口程序,直到窗口程序处理完消息再返回。而函数PostMessage不同,将一个消息寄送到一个线程的消息队列后立即返回。 函数原型:LRESULT SendMessage(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM IParam); 参数: hWnd:其窗口程序将接收消息的窗口的句柄。如果此参数为HWND_BROADCAST,则消息将被发送到系统中所有顶层窗口,包括无效或不可见的非自身拥有的窗口、被覆

物联网小镇的博客 1万+

RedCap:一种通信技术的概述

总结起来,RedCap是一种基于数据包交换的通信技术,它提供了一种高效、可靠的数据传输机制。通过使用RedCap,我们可以轻松地发送和接收数据包,并确保数据的完整性和正确性。在上面的示例中,我们首先导入了RedCap库,并创建了一个RedCap实例。然后,我们定义了目标地址和源地址,并创建了一个数据包,其中包含了目标地址、源地址和要发送的数据。本文将介绍RedCap的基本原理和使用方法,并提供一些相关的源代码示例。RedCap还提供了其他一些功能,如数据包的重传机制、流量控制和拥塞控制等。

YgjWeb的博客 899

SendMessage、SendMessageTimeout、PostMessage、PostThreadMessage

  SendMessage函数将指定的消息发送到一个或多个窗口,消息会直接发送到窗口过程而不经过消息队列,且直到消息处理完成后,SendMessage才返回。函数返回值指定消息处理的结果,依赖于所发送的消息。函数原型:   LRESULT WINAPI SendMessage( HWND hWnd, UINT Msg, WPARAM wPara...

milanleon的专栏 2138

AI上推荐 之 NeuralCF与PNN模型(改变特征交叉方式)

1. 前言 随着信息技术和互联网的发展, 我们已经步入了一个信息过载的时代,这个时代,无论是信息消费者还是信息生产者都遇到了很大的挑战: 信息消费者:如何从大量的信息中找到自己感兴趣的信息? 信息生产者:如何让自己生产的信息脱颖而出, 受到广大用户的关注? 为了解决这个矛盾, 推荐系统应时而生, 并飞速前进,在用户和信息之间架起了一道桥梁,一方面帮助用户发现对自己有价值的信息, 一方面让信息能够展现在对它感兴趣的用户前面。 推荐系统近几年有了深度学习的助推发展之势迅猛, 从前深度学习的传统推荐模型(协

Miracle8070 1万+

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

C++进程间通信之SendMessage和PostMessage

C++多进程通信之SendMessage和PostMessage1,使用介绍2,需要注意的地方3,WM_COPYDATA的原理      SendMessage和PostMessage在Win32编程中是很常见的,主要是用来发送消息到指定的窗口,一般用于工作线程传输数据到UI线程。其中SendMessage函数将指定的消息发送到一个或多个窗口。此函...

bajianxiaofendui的博客 1万+

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

PostMessage和SendMessage的区别

1, PostMessage只把消息放入队列,不管其他程序是否处理都返回,然后继续执行,这是个异步消息投放函数。而sendmessage必须等待其他程序处理消息完了之后才返回,继续执行,这是个同步消息投放函数。而且,PostMessage的返回值表示postmessage函数执行是否正确;而SendMessage的返回值表示其他程序处理消息后的返回值。这点大家应该都明白。 2,如果在同一个线程内

Cheers Li 软件测试博客 1004

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

消息队列和GetMessage/PeekMessage、SendMessage/Postmesage的详解

一、消息队列 1.1 消息队列 消息队列是用来存放消息的一个队列,消息在队列中先入先出,所有的窗口程序都具有消息队列,程序可以从队列中获取消息。 1.2 消息队列的类型 系统消息队列:由操作系统维护的消息队列,存放系统产生的消息,如鼠标、键盘消息等等。 程序消息队列:属于每一个应用程序(线程)的消息队列,用应用程序维护。 当产生鼠标、键盘等消息时,消息先存放到系统消息队列,然后操作系统...

1791

windows的消息机制

一、 什么是消息 在解释什么是消息之前,我们先讨论一下程序的执行机制问题。大体上说,程序按照执行机制可以分为两类: 第一类是过程驱动。比如我们最早接触编程时写的C程序,又或者单片机程序。这类程序往往预先已经设定好了执行流程,我们执行时只是按部就班的执行; 第二类是事件驱动。事件,相信大家都能够理解。每个事件的发生都是随机的,每个事件都会有发生的时刻,类似生活中的事件。程序中的事件也会有自己的触发点,事件驱动程序就是事先编写好了针对每个事件的处理流程。在Windows的操作系统中,消息就是Windows中的

南宫封清的博客 1090

MFC消息机制深度解密:从WM_CLOSE到自定义消息的完整指南(VS2015环境)

本文深入解析了在VS2015环境下进行MFC项目开发时,Windows消息机制的核心原理与应用。详细剖析了从WM_CLOSE、WM_DESTROY等关键窗口生命周期消息的处理,到SendMessage与PostMessage的同步/异步通信差异,并提供了自定义消息从定义、映射到实现跨线程通信的完整实战指南,帮助开发者构建更健壮、响应精准的桌面应用程序。

soda5的博客 818

Winform开发进阶:深入理解SendMessage与Windows消息机制实战

Windows消息机制是GUI编程的核心基础,它定义了操作系统与应用程序之间通信的标准方式。其原理基于消息队列和窗口过程,通过消息标识符和参数传递事件与指令。这项技术的价值在于提供了对UI行为的底层控制能力,突破了高级框架的封装限制。在应用场景上,它广泛用于自定义控件绘制、跨进程通信、系统集成以及性能优化等领域。本文聚焦于SendMessage这一同步消息发送API,结合Winform开发中的实际案例,详细解析了自定义消息的定义、发送与接收流程,并深入探讨了内存管理、跨进程通信等关键实践。通过理解消息传递机

weixin_34321753的博客 347
上一篇: VC 文档+视图 详细分析
下一篇: MySQL的timestamp类型自动更新问题
cbNotes
博客等级 码龄14年 295粉丝 57原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值