win32 5.4 使用 组合框
分类:
文章
•
2024-10-19 17:24:10
- 组合框 介绍:
- 顾名思义,组合框是一个“组合”起来的东西,它由一个可供选择的列表,一个可供输入的 edit 类 组合而成的。
- 组合框让用户既可以自己输入文本,也可以选择列表中的某一项当做输入。
- 组合框的三种不同风格:
- CBS_SIMPLE 风格:它的上面是可以输入的文本,下面的列表可供选择预设本文。
- CBS_DROPDOWN风格:上面同样可以输入文本,但下面的列表时下拉式的,平常属于收起状态。
- CBS_DRIODOWNLIST风格:它仅是一个下拉的选择框,上面的框中不允许输入文字。
- 组合框 其他的一些风格:
- 组合框中的定义:
- 在 rc文件 中的定义:
- 组合框 的 初始化:
- 组合框中的消息处理:
- 组合框中列表框部分的文字添加、项目的选择等操作都是通过发送消息来完成的,主要的消息如图所示:
- 当用户在组合框中进行选择时,Windows向对话框发送 WM_COMMAND 消息,消息中wParam参数的低16位是组合框ID,高16位是通知码,用来表示用户的操作,通知码的定义:
- 用户选择了一个项目后做的相应的动作,最好的办法就是处理 CBN_SELENDOK通知码。
- 对于编辑控件:
- 以上操作都是下拉部分的,很多都是针对 组合框 中的编辑控件,对组合框的窗口句柄发送 WM_GETTEXT 和 WM_SETTEXT,操作对象就是组合框的编辑控件。
- 可以发送 CB_LIMITTEXT 消息,限定编辑框中文本输入的最大长度。
- 当用户在编辑框中编辑文字的时候,windows在显示用户输入,字符显示之前会发送 CBN_EDITUPDATE 通知码;在显示之后又会发送 CBN_EDITCHANGE通知码。所以,用户在处理 WM_COMMAND 消息的时候,通过处理这两个通知码可以检测到用户的输入操作。