Windoows窗口程序四
子窗口的创建
.创建时要设置父窗口句柄
.创建风格要增加WS_CHILD|WS_VISIBLE HWND CreateChild(LPSTR lpClassName,LPSTR lpWndName,HWND hParent)
{
return CreateWindowEx(,lpClassName,lpWndName
,WS_CHILD|WS_VISIBLE|WS_OVERLAPPEDWINDOW,
,,,,hParent,NULL,g_hInstance,NULL);
}
//改变窗口位置大小
BOOL WINAPI MoveWindow(
HWND hWnd,//窗口句柄--CreateWindow的返回值
int X,//横坐标
int Y,//纵坐标
int nWidth,//宽
int nHeight,//高
BOOL bRepaint//重绘标识(true表示擦除原来绘制的窗口,flase表示不擦除原来绘制的窗口)
);
窗口类和窗口的附加数据(RegisterClassEx类)
int cbClsExtra;//窗口类的附加数据缓冲区的大小(推荐4的整数倍)
int cbWndExtra;//窗口的附加数据缓冲区的大小(推荐4的整数倍)
可以提供窗口类和窗口存放自己的数据的空间
cbClsExtra属性的读写函数
DWORD SetClassLong(
HWND hWnd,//窗口句柄
int nIndex,//字节索引号(索引号以字节为单位,0表示从第0个字节开始存放数据)
LONG dwNewLong//存入的数据(注意数据是4个字节插入的,索引应该每次后移4个字节)
);
DWORD WINAPI GetClassLong(
HWND hWnd,//窗口句柄
int nIndex//字节索引号
);//返回值接收读取的数据
cbWndExtra属性的读写函数
LONG WINAPI SetWindowLong(
HWND hWnd,//窗口句柄
int nIndex,//字节索引号
LONG dwNewLong//存入的数据
); LONG WINAPI GetWindowLong(
_In_ HWND hWnd,//窗口句柄
_In_ int nIndex//字节索引号
);
窗口类附加数据缓冲区是所有基于该窗口类创建的窗口共享的缓冲区(相当于类的静态成员)
窗口附加数据缓冲区是窗口自己私有缓冲区(相当于类普通成员)
Windoows窗口程序四的更多相关文章
- Windoows窗口程序五
程序执行机制 过程驱动-程序的执行过程是按照预订好的顺序执行. 事件驱动-程序的执行是无序,用户可以根据需要随机触发相应的事件. Win32窗口程序就是采用事件驱动方式执行,也就是消息机制. 当系统通 ...
- Windoows窗口程序一
编写窗口程序的步骤: .定义WinMain入口函数 .定义窗口处理函数(处理消息)WindowProc .注册窗口类RegisterClass .创建窗口(在内存中创建窗口)CreateWindow ...
- Windoows窗口程序二
WNDCLASS属性style取值: CS_GLOBALCLASS--应用程序全局窗口类 CS_BYTEALIGNCLIENT--窗口客户区的水平位置8倍数对齐 CS_BYTEALIGNWINDOW- ...
- Windoows窗口程序七
WM_QUIT--用于结束消息循环处理 wParam - PostQuitMessage函数传递的参数 lParam - 不使用 当GetMessage收到这个消息后,会返回false,结束while ...
- Windoows窗口程序六
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> #include <stri ...
- Windoows窗口程序三
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <windows.h& ...
- QT源码解析(一) QT创建窗口程序、消息循环和WinMain函数
QT源码解析(一) QT创建窗口程序.消息循环和WinMain函数 分类: QT2009-10-28 13:33 17695人阅读 评论(13) 收藏 举报 qtapplicationwindowse ...
- Windows程序设计笔记(二) 关于编写简单窗口程序中的几点疑惑
在编写窗口程序时主要是5个步骤,创建窗口类.注册窗口类.创建窗口.显示窗口.消息环的编写.对于这5个步骤为何要这样写,当初我不是太理解,学习到现在有些问题我基本上已经找到了答案,同时对于Windows ...
- win32程序之窗口程序,以及消息机制
win32程序值窗口程序,以及消息机制 一丶简介 通过上一讲.我们了解了窗口其实是绘制出来的.而且是不断绘制的过程. 所以窗口的本质是绘制. 但是我们现在看到的窗口程序.都可以点击关闭按钮. 使用鼠标 ...
随机推荐
- 未能找到类型集或命名空间名称 "xxxxxx" (是否缺少using 指令或引用?)
“未能找到类型或命名空间名称XXXX”,以往遇到这种情况第一时间想到就是没有引用需要的dll. 但今天我反复检查了好几次,还是没有解决问题.我注意到除了错误信息,还有几个警告信息“未能解析引用的程序集 ...
- OC 中new与alloc/init的差别
英文具体解释:http://macresearch.org/difference-between-alloc-init-and-new 1.在实际开发中非常少会用到new.一般创建对象咱们看到的全是[ ...
- matlab直方图均衡
clear all; i=imread('cameraman.tif'); figure; subplot(2,2,1); imshow(i); title('原始图像'); subplot(2,2, ...
- ubuntu16.4安装中文输入法
ibus输入法 Chinese语言包安装 首先需要给Ubuntu16.04安装Chinese语言包支持. 如上图点击其中的Install/Remove Languages…,这个对话框是通过syst ...
- Oracle学习笔记之八(几条简明的优化SQL方法)
1. 常规SQL语句优化 1.1 建议不用“*”来代替所有列名 SELECT语句中可以用“*“来列出某个表的所有列名,但是这样的写法对Oracle系统来说会存在解析的动态问题.Oracle系统会通过查 ...
- Android: TODO 应用交互的两种实现方法(Behavior)
最近在写 TODO app,涉及到 Calendar 和 RecyclerView 的交互, 需求: 1. 往上滑动, Calendar 显示为周 2. 周显示模式下,往下滑动,显示为月 3. 列表下 ...
- Litjson序列化
var jsonStr = JsonMapper.ToJson(tmpType); var tmpObject = JsonMapper.ToObject<TestClass>(jsonS ...
- 【Android】12.3 在当前Activity中获取另一个Activity的返回值
分类:C#.Android.VS2015: 创建日期:2016-02-23 一.简介 在上一节的示例中,通过StartActivity(Intent)方法启动另一个Activity后,这两个Activ ...
- MD5加密 时间差 流水号等方法
/// <summary> /// 使用TimeSpan计算两个时间差 /// </summary> /// <param name="DateTime1&qu ...
- bss段和.data的是是非非
一般情况下,一个程序本质上都是由 bss段.data段.text段三个组成的——本概念是当前的计算机程序设计中是很重要的一个基本概念. 而且在嵌入式系统的设计中也非常重要,牵涉到嵌入式系统运行时的内存 ...