API之子窗口创建
来源:互联网 发布:苏州爱知科技招聘 编辑:程序博客网 时间:2024/04/28 20:49
子窗口的创建非常非常重要
步骤:1、新建窗口类,在窗口类中指名对应的自定义的窗口过程。窗口类类名要唯一,它
是各窗口类相互区别的标识。注意,类名或为静态变量,或为全局变量,因为程
序随时都用他们。
2、创建窗体时,指定其风格之一为WS_CHILD, 指定其父窗口句柄,得到父窗体实
例句柄,并赋给子窗体。
3、在主窗体的create消息中,创建0尺寸的子窗体,主窗体的size消息中,利用
movewindow函数,重设窗体大小,重置窗体位置。
实例为CTRL002,CTRL003
实例CTRL001单击按钮显示对应文字
子窗口向父窗口发送消息
CreateWindow呼叫使用下面这些参数:
Class name(类别名称)
Window text(窗口文字)
Window style(窗口样式)
x position(x位置)
y position(y位置)
Width(宽度)
Height(高度)
Parent window(父窗口)
Child window ID(子窗口ID)
Instance handle(执行实体句柄
)Extra parameters(附加参数)
TEXT ("button")
button[i].szText
WS_CHILD|WS_VISIBLE|button[i].iStyle
cxChar
cyChar * (1 + 2 * i)
20 * xChar
7 * cyChar / 4
hwnd
(HMENU)i
((LPCREATESTRUCT) lParam) -> hInstance
NULL
说明:从WM_COMMAND区别出单击了哪个按钮。通过子窗口的ID号来区分。每个子窗口在创建时,就已经分配了一个唯一的ID号。ID号包含在WM_COMMAND消息中wParam的低字节位。用LOWORD()宏来获取ID。
“用鼠标单击按钮时,子窗口控制就向其父窗口发送一个WM_COMMAND消息。...捕获WM_COMMAND消息....”
“LOWORD(wParam) 子窗口ID
HIWORD(wParam) 通知码
lParam 子窗口句柄”
实例CTRL002 利用多个静态窗体绘制棋盘
说明:1、窗体类别必需是static类,否则程序不能生成静态窗体
2、利用GetWindowLong得到窗体实例句柄
3、HWND是数值类型,可以定义成数组
4、创建子窗体时,将大小设为0,以便重置
4、利用movewidow(...)函数重置静态子窗体位置
运行结果如下图
- API之子窗口创建
- API之子窗口创建 (转)
- 《Windows程序设计》之子窗口
- 使用API创建窗口
- 使用API创建窗口
- 《Windows API》创建窗口
- API创建创建子窗口
- Windows程序设计之子窗口设计
- C++API创建Win32窗口
- windows程序设计之鼠标之子窗口
- layer 之子父窗口传值
- 用Win32 API创建不规则窗口
- 用Win32 API创建不规则窗口
- Win32 API与MFC创建窗口对比
- 《Windows API》使用对话框资源创建窗口
- Python使用Windows API创建窗口
- JAVASCRIPT之子窗口与父窗口的互调
- window使用之子窗口引用父窗口对象
- 如何在oracle使用blob,clob
- struts hibernate spring在MyEclipse中的整合设置步骤
- Struts2与Struts1的对比
- 今天在这里'落户'啦....
- session总结
- API之子窗口创建
- 《java学习笔记》读书笔记の小心使用Boxing
- 我也谈谈方法之编程
- 网站设计和搜索引擎优化的技巧
- 什么真正影响性能?
- 学习c++模板元编程2
- UVA 193
- 卡尔曼滤波器
- Google鲜为人知的强大功能!收藏