WM_SIZE后于WM_CREATE消息!!在窗口被创建时的顺序!

WM_SIZE

procedure WMSize (var Message: TWMSize);  message WM_SIZE;

参数说明

wParam:

Specifies the type of resizing requested.

通常用来向别的窗口发送消息时,需要指定的附加信息


Value

Meaning

SIZE_MAXHIDE

Message is sent to all pop-up windows when some other window is maximized.

SIZE_MAXSHOW

Message is sent to all pop-up windows when some other window has been restored to its former size.

SIZE_MINIMIZED

The window has been minimized.

Value

Meaning

SIZE_RESTORED

The window has been resized, but neither the SIZE_MINIMIZED nor SIZE_MAXIMIZED value applies.

lParam:

The low-order word of lParamspecifies the new width of the client area.

The high-order word of lParam specifies the new height of the client area.

note:

lParam和GetClientRect的功能一样,有时候WM_SIZE的效率要比使用GetClientRect高. 可以在程序中使用WM_SIZE来保存Client area的大小方便以后使用.

WM_SIZE附带的信息:

WM_SIZE

fwSizeType = wParam; // resizing flag

nWidth = LOWORD(lParam); // width of client area

nHeight = HIWORD(lParam); // height of client area

告诉我们Windows处理窗口大小变化后新窗口客户区的大小.

Message Cracker

void Cls_OnSize(HWND hwnd, UINT state, int cx, int cy)

...{

//do ...

}

参数cx,cy是新窗口客户区的大小!宽度和高度

注意cx,cy最好定义为全局或是静态的,例子如下

static UINT cx,cy;

switch (message)

{

case WM_SIZE:

cx=LOWORD(lParam);

cy=HIWORD(lParam);

break;

http://www.cnblogs.com/toosuo/p/3387827.html

时间: 2024-10-01 04:54:31

WM_SIZE后于WM_CREATE消息!!在窗口被创建时的顺序!的相关文章

消息循环,注册窗口,创建窗口【图解】

本文是Win32编程基础 尽管Windows应用程序千变万化,令人眼花缭乱,但,消息机制和窗口过程却始终它们的基础,掌握了这两项技术,也就相当于把握住了问题的关键 DirectX编程也是建立在这个基础之上的,所以,在你可以熟练的进行简单的Win32编程之后DirectX编程也就触手可得. 1.1 简单的WIN32程序 在以前的C语言编程中,一个最简单的程序可以只有两行. void main(void) { printf "Hello World!"; } 而要实现同样功能的Window

WM_INITDIALOG与WM_CREATE消息的区别

WM_CREATE是所有窗口都能响应的消息,表明本窗口已经创建完毕(可以安全的使用这个窗口了,例如在它上面画控件等).在响应WM_CREATE消息响应函数的时候,对话框及子控件还未创建完成,亦是说只是通知系统说要开始创建窗口啦,这个消息响应完之后,对话框和子控件才开始创建.因此在此消息响应函数中无法对控件进行修改和初始化.        WM_INITDIALOG消息是对话框才能收到的消息,表明对话框及其所有子控件都创建完毕了.这个状态肯定是在调用显示对话框的函数之前,因此可以在WM_INITD

Windows窗口的创建

Windows窗口创建的基本代码: #include <Windows.h> LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); int WINAPI WinMain( __in HINSTANCE hInstance, __in_opt HINSTANCE hPrevInstance, __in LPSTR lpCmdLine, __in int nShowCmd ) { TCHAR* appName = TEXT("Demo

WINDOWS消息和窗口简介

一.WINDOWS的消息和窗口简介:1.什么是windows在这里我就不介绍了,但是作为一个程序员我们要知道WINDOWS最重要的一个也是我们程序员常用的一个东西就是消息.窗口是以消息的形式输入的,窗口也用消息与其它窗口通讯. 2.我们常会说windows给程序发送了一个消息,其实这是指windows调用程序中的一个函数,该函数的参数描述了这个特定消息.这种位于windows程序中的函数称为“窗体消息处理程序”.程序建立的每一个窗体都有相关的窗口消息处理程序.这个窗口消息处理程序是一个函数,既可

WM_PAINT消息在窗口重绘的时候产生,那什么时候窗口会重绘(异步工作方式,效率更高,灵活性更强)

Q:wm_paint消息在窗口重绘的时候产生,那什么时候窗口会重绘?? A: 严格地说,只有当收到WM_PAINT消息后窗口会重绘 但是引起这个消息的事件有很多, 比如: 首次创建 移动 改变大小 showwindow/ activate window/ invalidate window .... 系统为什么不在调用Invalidate时发送WM_PAINT消息呢?又为什么非要等应用消息队列为空时才发送WM_PAINT消息呢?这是因为系统把在窗口中的绘制操作当作一种低优先级的操作,于是尽可能地

歪兔工具条(YToolsforArcMap)简介之ArcMap插件进度消息通知窗口的实现

一个简单ArcMap插件进度消息通知窗口的实现方法. 一个进度窗体 ①搞一个label,塞进一个gif动图,让窗体Show出来的时候一直转啊转啊转: ②搞一个label写点提示文字“请稍等”啥的:再搞一个label用来显示进度. 进度Form的代码如下: 一个进度窗体管理器 ProgressFormManger 代码如下: 进度消息的传递机制 一个委托 public delegate void ProgressChangedEventHandler(object o,ProgressChange

DockWidget参数窗口的创建

Qt QMainWindow上添加QDockWidget窗口 <一>.建立一个标准的参数Dialog :StdDialog(QDockWidget) (窗口(QWidget) -> LeftParamDlg/ RightParamDlg(QFrame)->StdDialog(QDockWidget)) 窗口(QWidget) :designer设计 LeftParamDlg/ RightParamDlg(QFrame):刚才的窗口能够显示 StdDialog(QDockWidget

PR PO通过fm创建时,如何传输增强字段

PR: PO: 如上,对应结构分别为:BAPI_TE_MEPOITEM. BAPI_TE_MEPOITEMXPR PO通过fm创建时,如何传输增强字段

关于小周同志在消息模块定位功能修改时存在的问题分析

1. 解决的流程有问题:在接收任务时,没有按规则先整理出修改的思路,步骤,与最初开发人员讨论,并向领导报告预改进方案,使改造路线出现偏差. 2.未能理解原有设计,程序开发理念理解不足:未深入理想原有代码的设计基本思路,原来的设计在思想深处严格遵守MVC思路,以本地数据集为依托,一切V层的绘制,是先以M层数据变化为基础的.所以,如果要完成传入定位参数,打开指定会话的任务,第一件事应该是将数据模型进行修改为正确的,然后根据数据进行重绘,或进行V层的调整.现在的修改方法是:未最先调整数据模型,按原来的