1. Button Control
-
(Name):控件的内部名称,通常用于在代码中引用控件。
-
ID:控件的唯一标识符,用于在资源文件和代码中唯一确定一个控件。
-
帮助 ID:与控件相关的帮助文档或帮助主题的标识符。
-
垂直对齐:文本或图标在控件内的垂直对齐方式。
-
默认值:控件是否被设置为默认按钮,即在用户按回车键时自动触发的按钮。
-
从右到左阅读顺序:是否支持从右到左的文本阅读顺序,适用于某些语言环境。
-
调整大小类型:控件在窗口调整大小时如何调整大小。
-
多行:控件是否支持多行文本。
-
接受文件:控件是否允许通过拖放操作接受文件。
-
静态边缘:控件是否有静态边缘,通常用于分组。
-
可见:控件在默认情况下是否可见。
-
客户端边缘:控件是否有客户端边缘。
-
描述文字:控件的描述性文字,通常显示在工具提示或状态栏上。
-
模式框架:控件是否有模式对话框框架。
-
默认按钮:控件是否作为对话框中的默认按钮。
-
平面:控件是否显示为平面样式,不使用立体效果。
-
水平对齐:文本或图标在控件内的水平对齐方式。
-
所有者描述:控件是否有所有者描述。
-
通知:控件是否发送通知消息。
-
透明:控件是否透明,允许显示底层内容。
-
图标:控件是否显示图标。
-
位图:控件是否使用位图图像。
-
文本右对齐:文本是否右对齐。
-
移动类型:文本在控件中的移动方式。
-
已禁用:控件在默认情况下是否被禁用。
-
制表位:控件是否使用制表位对齐文本。
-
组:控件是否属于一个逻辑组,通常用于单选按钮组。
2. Edit Control
-
Auto HScroll:自动水平滚动。如果设置为True,控件将在内容超出显示区域时显示水平滚动条。
-
Auto VScroll:自动垂直滚动。如果设置为True,控件将在内容超出显示区域时显示垂直滚动条。
-
ID:控件的唯一标识符,用于在代码中引用控件。
-
OEM转换:是否启用原始设备制造商(OEM)特定的字符集转换。
-
帮助 ID:与控件相关的帮助文档或帮助主题的标识符。
-
边框:控件是否显示边框。
-
垂直滚动:是否启用垂直滚动功能。
-
从右到左阅读顺序:是否支持从右到左的文本阅读顺序,适用于某些语言环境。
-
大写:是否自动将用户输入转换为大写。
-
调整大小类型:控件在窗口调整大小时如何调整大小。
-
对齐文本:文本在控件内的对齐方式,如左对齐、居中或右对齐。
-
多行:控件是否支持多行文本输入。
-
接受文件:控件是否允许通过拖放操作接受文件。
-
静态边缘:控件是否有静态边缘,通常用于分组。
-
可见:控件在默认情况下是否可见。
-
客户端边缘:控件是否有客户端边缘。
-
密码:控件是否隐藏输入内容,适用于密码输入。
-
模式框架:控件是否有模式对话框框架。
-
数字:控件是否只接受数字输入。
-
水平滚动:是否启用水平滚动功能。
-
透明:控件是否透明,允许显示底层内容。
-
文本右对齐:文本是否右对齐。
-
无隐藏选择:控件是否隐藏用户的选择。
-
想要返回:用户是否可以通过Enter键提交输入。
-
小写:是否自动将用户输入转换为小写。
-
移动类型:控件的文本移动方式。
-
已禁用:控件在默认情况下是否被禁用。
-
只读:控件是否设置为只读模式。
-
制表位:控件是否使用制表位对齐文本。
-
组:控件是否属于一个逻辑组。
-
左侧滚动条:滚动条是否显示在控件的左侧。
3. MFC Menu Button Control
-
(Name):控件的内部名称,通常用于在代码中引用控件。
-
ID:控件的唯一标识符,用于在资源文件和代码中唯一确定一个控件。
-
OS 菜单:是否使用操作系统的菜单。如果设置为True,控件将使用系统菜单。
-
帮助 ID:与控件相关的帮助文档或帮助主题的标识符。
-
保持按住:是否需要用户长按以触发按钮动作。
-
从右到左阅读顺序:是否支持从右到左的文本阅读顺序,适用于某些语言环境。
-
调整大小类型:控件在窗口调整大小时如何调整大小。
-
接受文件:控件是否允许通过拖放操作接受文件。
-
静态边缘:控件是否有静态边缘,通常用于分组。
-
可见:控件在默认情况下是否可见。
-
客户端边缘:控件是否有客户端边缘。
-
描述文字:控件的描述性文字,通常显示在工具提示或状态栏上。
-
模式框架:控件是否有模式对话框框架。
-
默认按钮:控件是否作为对话框中的默认按钮。
-
默认单击:控件是否作为默认单击目标。
-
通知:控件是否发送通知消息。
-
透明:控件是否透明,允许显示底层内容。
-
文本右对齐:文本是否右对齐。
-
移动类型:控件的文本移动方式。
-
已禁用:控件在默认情况下是否被禁用。
-
右箭头:控件是否显示右箭头,通常用于指示下拉菜单。
-
制表位:控件是否使用制表位对齐文本。
-
自动大小:控件是否根据内容自动调整大小。
-
组:控件是否属于一个逻辑组。
MFC(Microsoft Foundation Classes)是Visual C++的一个应用程序框架,它提供了一系列的控件,包括菜单按钮(Menu Button Control)和组合框(Combo-box Control)。这两种控件在功能和使用场景上有所不同:
-
菜单按钮(Menu Button Control):
-
菜单按钮通常用于显示下拉菜单,用户可以点击按钮后选择一个选项。
-
它结合了按钮和下拉列表的功能,适合于需要用户从多个选项中选择一个的场景。
-
菜单按钮可以包含分隔线,以将选项分组,提高菜单的可读性。
-
在MFC中,菜单按钮可以通过
CMenu
类来创建和管理。
-
-
组合框(Combo-box Control):
-
组合框是一种允许用户从列表中选择一个选项的控件,也可以允许用户输入文本(如果设置为允许编辑)。
-
它通常用于需要用户选择一个预定义选项的场景,或者当选项列表很长时。
-
组合框可以是下拉列表(只显示选中项)或下拉组合框(显示当前选中项和允许编辑的文本框)。
-
在MFC中,组合框可以通过
CComboBox
类来创建和管理。
-
在选择这两种控件时的场景要求:
-
使用菜单按钮的场景:
-
当你想要提供一个简单的下拉菜单,且不需要用户输入文本时。
-
当你需要在按钮旁边显示当前选中的选项时。
-
当菜单项需要分组显示,且分组对于用户理解菜单结构很重要时。
-
-
使用组合框的场景:
-
当你需要提供一个可以编辑的下拉列表时,用户既可以选择预定义的选项,也可以输入新的值。
-
当选项列表很长,且用户可能需要滚动查找选项时。
-
当你想要提供一个可以快速搜索和选择的控件时。
-
4. Combo-box Control
-
(Name):控件的内部名称,通常用于在代码中引用控件。
-
ID:控件的唯一标识符,用于在资源文件和代码中唯一确定一个控件。
-
OEM转换:是否启用原始设备制造商(OEM)特定的字符集转换。
-
帮助 ID:与控件相关的帮助文档或帮助主题的标识符。
-
包含字符串:是否允许组合框包含字符串。
-
垂直滚动条:是否在组合框中显示垂直滚动条。
-
从右到左阅读顺序:是否支持从右到左的文本阅读顺序,适用于某些语言环境。
-
大写:是否自动将用户输入转换为大写。
-
调整大小类型:控件在窗口调整大小时如何调整大小。
-
接受文件:控件是否允许通过拖放操作接受文件。
-
禁用"无滚动":是否禁用没有滚动条的组合框。
-
静态边缘:控件是否有静态边缘,通常用于分组。
-
可见:控件在默认情况下是否可见。
-
客户端边缘:控件是否有客户端边缘。
-
类型:组合框的类型,如下拉列表(Dropdown)。
-
模式框架:控件是否有模式对话框框架。
-
排序:是否对组合框中的项进行排序。
-
数据:组合框的数据来源,如所有者描述(Owner Draw)。
-
透明:控件是否透明,允许显示底层内容。
-
文本右对齐:文本是否右对齐。
-
无整数高度:是否允许文本行的高度不是整数。
-
小写:是否自动将用户输入转换为小写。
-
移动类型:文本在控件中的移动方式。
-
已禁用:控件在默认情况下是否被禁用。
-
制表位:控件是否使用制表位对齐文本。
-
自动:是否启用自动完成功能。
-
组:控件是否属于一个逻辑组。
-
左侧滚动条:滚动条是否显示在控件的左侧。
5. Text Control
-
(Name):控件的内部名称,通常用于在代码中引用控件。
-
ID:控件的唯一标识符,用于在资源文件和代码中唯一确定一个控件。
-
凹陷:控件是否显示为凹陷效果。
-
帮助 ID:与控件相关的帮助文档或帮助主题的标识符。
-
边框:控件是否显示边框。
-
不换行:文本是否在控件内禁止换行。
-
从右到左阅读顺序:是否支持从右到左的文本阅读顺序,适用于某些语言环境。
-
调整大小类型:控件在窗口调整大小时如何调整大小。
-
对齐文本:文本在控件内的对齐方式,如左对齐、居中或右对齐。
-
简单:控件是否显示为简单文本。
-
接受文件:控件是否允许通过拖放操作接受文件。
-
结尾省略号:文本在控件内是否显示结尾省略号。
-
静态边缘:控件是否有静态边缘,通常用于分组。
-
居中图像:图像在控件内是否居中显示。
-
可见:控件在默认情况下是否可见。
-
客户端边缘:控件是否有客户端边缘。
-
路径省略号:控件文本是否显示路径省略号。
-
描述文字:控件的描述性文字,通常显示在工具提示或状态栏上。
-
模式框架:控件是否有模式对话框框架。
-
实际大小控件:控件是否按实际大小显示图像。
-
通知:控件是否发送通知消息。
-
透明:控件是否透明,允许显示底层内容。
-
文本右对齐:文本是否右对齐。
-
无前缀:控件是否隐藏文本前缀。
-
移动类型:文本在控件中的移动方式。
-
已禁用:控件在默认情况下是否被禁用。
-
制表位:控件是否使用制表位对齐文本。
-
字词省略号:长文本是否在控件内显示省略号。
-
组:控件是否属于一个逻辑组。
6. Radio-Button Control
-
(Name):控件的内部名称,通常用于在代码中引用控件。
-
ID:控件的唯一标识符,用于在资源文件和代码中唯一确定一个控件。
-
帮助 ID:与控件相关的帮助文档或帮助主题的标识符。
-
垂直对齐:文本或图标在控件内的垂直对齐方式。
-
默认值:控件是否被设置为默认选项,例如在一组单选按钮中默认被选中。
-
从右到左阅读顺序:是否支持从右到左的文本阅读顺序,适用于某些语言环境。
-
调整大小类型:控件在窗口调整大小时如何调整大小。
-
多行:控件是否支持多行文本。
-
接受文件:控件是否允许通过拖放操作接受文件。
-
静态边缘:控件是否有静态边缘,通常用于分组。
-
可见:控件在默认情况下是否可见。
-
客户端边缘:控件是否有客户端边缘。
-
描述文字:控件的描述性文字,通常显示在工具提示或状态栏上。
-
底色净化:控件是否使用特殊的底色处理。
-
模式框架:控件是否有模式对话框框架。
-
平面:控件是否显示为平面样式,不使用立体效果。
-
水平对齐:文本或图标在控件内的水平对齐方式。
-
通知:控件是否发送通知消息。
-
透明:控件是否透明,允许显示底层内容。
-
图标:控件是否显示图标。
-
推送外观:控件是否具有推送按钮的外观。
-
位图:控件是否使用位图图像。
-
文本右对齐:文本是否右对齐。
-
移动类型:文本在控件中的移动方式。
-
已禁用:控件在默认情况下是否被禁用。
-
制表位:控件是否使用制表位对齐文本。
-
自动:控件是否具有自动功能,例如自动调整大小。
-
组:控件是否属于一个逻辑组,通常用于单选按钮组。
-
左侧文本:文本是否显示在控件的左侧。
7. Slider Control
-
X:控件在对话框中的水平位置(x坐标)。
-
(Name):控件的内部名称,通常用于在代码中引用控件。
-
ID:控件的唯一标识符,用于在资源文件和代码中唯一确定一个控件。
-
帮助 ID:与控件相关的帮助文档或帮助主题的标识符。
-
边框:控件是否显示边框。
-
打勾标记:控件是否显示用于打勾的标记(通常用于复选框)。
-
点:控件的尺寸调整方式(例如,
Both
表示宽度和高度都可以调整)。 -
调整大小类型:控件在窗口调整大小时如何调整大小。
-
方向:滑动条的方向,
Horizontal
表示水平方向。 -
工具提示:是否为控件启用工具提示。
-
接受文件:控件是否允许通过拖放操作接受文件。
-
静态边缘:控件是否有静态边缘,通常用于分组。
-
可见:控件在默认情况下是否可见。
-
客户端边缘:控件是否有客户端边缘。
-
模式框架:控件是否有模式对话框框架。
-
启用选择范围:是否启用控件的选择范围功能。
-
透明:控件是否透明,允许显示底层内容。
-
透明背景:控件的背景是否透明。
-
移动类型:控件的移动方式。
-
移动前通知:在控件移动前是否发送通知。
-
已禁用:控件在默认情况下是否被禁用。
-
制表位:控件是否使用制表位对齐文本。
-
自动打勾:控件是否自动打勾。
-
组:控件是否属于一个逻辑组,通常用于单选按钮组.
8.Check Box
复选框
9.List Box
列表框给出了一个选项清单,允许用户从中进行单项或多项选择,被选中的项会高亮显示。列表框可分为单选列表框和多选列表框,顾名思义,单选列表框中一次只能选择一个列表项,而多选列表框可以同时选择多个列表项。
MFC将列表框控件的所有操作都封装到了CListBox类中。建列表框控件时,可以在对话框模板中直接拖入列表框控件Listbox,然后添加控件变量使用。但如果需要动态创建列表框,就要用到CListBox类的Create成员函数了。
CListBox类的主要成员函数
int GetCount( ) const; 返回值:返回列表框中列表项的数目,如果发生错误则返回LB_ERR。
int GetSel(int nIndex) const; 参数:nIndex指定某个列表项的索引。 返回值:返回nIndex指定列表项的状态。如果此列表项被选择了则返回一个正值,否则返回0,若发生错误则返回LB_ERR。
int SetSel(int nIndex,BOOL bSelect = TRUE); 此函数只用于多选列表框,使用它可以选择或取消选择指定的列表项。 参数:nIndex指定某个列表项的索引,若为-1则相当于指定了所有列表项。bSelect为TRUE时选择指定列表项,否则取消选择指定列表项。 返回值:如果发生错误则返回LB_ERR。
int AddString(LPCTSTR lpszItem); 此函数用来向列表框中添加字符串。如果列表框指定了LBS_SORT风格,字符串就被以排序顺序插入到列表框中,如果没有指定LBS_SORT风格,字符串就被添加到列表框的结尾。 参数:lpszItem指定了要添加的字符串。 返回值:返回字符串在列表框中添加的位置。如果发生错误则返回LB_ERR,内存不够则返回LB_ERRSPACE。
int InsertString(int nIndex, LPCTSTR lpszItem); 该函数用来在列表框中的指定位置插入字符串。与AddString函数不同的是,InsertString函数不会导致LBS_SORT风格的列表框重新排序。不要在具有LBS_SORT风格的列表框中使用InsertString函数,以免破坏列表项的次序。 参数:。参数nIndex 给出了插入位置(索引),如果值为-1,则字符串将被添加到列表的末尾。参数lpszItem 指定了要插入的字符串。 返回值:返回实际的插入位置,若发生错误,会返回LB_ERR 或LB_ERRSPACE。
int DeleteString(UINT nIndex); 该函数用于删除指定的列表项。 参数:nIndex 指定了要删除项的索引。 返回值:函数的返回值为剩下的列表项数目,如果nIndex 超过了实际的表项总数,则返回LB_ERR。
void ResetContent(); 该函数用于清除所有列表项。
int GetText(int nIndex,LPTSTR lpszBuffer) const; void GetText(int nIndex,CString& rString) const; 这两个成员函数用于获取指定列表项的字符串。参数nIndex 指定了列表项的索引。参数lpszBuffer 指向一个接收字符串的缓冲区。引用参数rString 则指定了接收字符串的CString对象。第一个版本的函数会返回获得的字符串的长度,若出错,则返回LB_ERR;第二个版本的函数则不会。
int GetTextLen(int nIndex) const; 该函数返回指定列表项的字符串的字节长度。 参数:nIndex 指定了列表项的索引。 返回值:若出错则返回LB_ERR。
int GetCurSel() const; 该函数仅适用于单选列表框,用来返回当前被选择项的索引,如果没有列表项被选择或有错误发生,则函数返回LB_ERR。
int SetCurSel(int nSelect); 该函数仅适用于单选列表框,用来选择指定的列表项。该函数会滚动列表框以使选择项可见。参数nIndex 指定了列表项的索引,若为-1,那么将清除列表框中的选择。若出错函数返回LB_ERR。
int GetSelCount() const; 该函数仅用于多重选择列表框,它返回选择项的数目,若出错函数返回LB_ERR。
int FindString(int nStartAfter,LPCTSTR lpszItem) const; 该函数用于对列表项进行与大小写无关的搜索。参数nStartAfter 指定了开始搜索的位置,合理指定nStartAfter 可以加快搜索速度,若nStartAfter 为-1,则从头开始搜索整个列表。参数lpszItem 指定了要搜索的字符串。函数返回与lpszItem 指定的字符串相匹配的列表项的索引,若没有找到匹配项或发生了错误,则会返回LB_ERR。FindString 函数先从nStartAfter指定的位置开始搜索,若没有找到匹配项,则会从头开始搜索列表。只有找到匹配项,或对整个列表搜索完一遍后,搜索过程才会停止,所以不必担心会漏掉要搜索的列表项。
int SelectString(int nStartAfter,LPCTSTR lpszItem); 该函数仅适用于单选列表框,用来选择与指定字符串相匹配的列表项。该函数会滚动列表框以使选择项可见。参数的意义及搜索的方法与函数FindString 类似。如果找到了匹配的项,函数返回该项的索引,如果没有匹配的项,函数返回LB_ERR 并且当前的选择不被改变。
呈现效果:
-
列表显示:列表框内显示了一系列水平或垂直排列的项目,用户可以滚动查看所有项目。
-
单选或多选:列表框可以是单选的,用户只能选择列表中的一个项目;也可以是多选的,用户可以同时选择多个项目。
-
项目选择:用户可以通过鼠标或键盘(如上下箭头键)选择一个或多个项目。
-
滚动条:如果列表中的项目数量超过列表框的显示区域,通常会有滚动条以便用户浏览所有项目。
-
项目高亮:当用户将鼠标悬停在或选择某个项目时,该项目通常会有高亮效果,以视觉方式反馈给用户。
-
自定义外观:列表框的外观(如字体、颜色、大小)可以根据应用程序的风格进行自定义。
作用:
-
数据展示:列表框用于展示数据列表,如文件名、菜单项、选项等。
-
用户选择:允许用户从多个选项中选择一个或多个,进行后续操作。
-
信息过滤:在一些应用中,列表框可以用来过滤或缩小用户需要查看的信息范围。
-
交互界面:作为用户与应用程序交互的界面,提供一种直观的方式来浏览和选择数据项。
-
数据输入辅助:在某些情况下,列表框可以辅助用户输入,如自动完成功能,用户可以从列表中选择而不是手动输入。
-
功能触发:用户选择列表框中的某个项目可能会触发应用程序中的特定功能或操作。
例如,在Windows资源管理器中,文件和文件夹是以列表的形式展示的,用户可以通过滚动和选择来浏览和管理文件系统。在软件开发中,列表框是一种非常实用的控件,可以有效地提升用户界面的可用性和交互性。
10.List Control
列表视图控件List Control同样比较常见,它能够把任何字符串内容以列表的方式显示出来,这种显示方式的特点是整洁、直观,在实际应用中能为用户带来方便。
列表视图控件是对前面讲到的列表框控件List Box的改进和延伸。列表视图控件的列表项一般有图标(Icon)和标签(Label)两部分。图标是对列表项的图形描述,标签是文字描述。当然列表项可以只包含图标也可以只包含标签。
列表视图控件有4种风格:Icon、Small Icon、List和Report。下面简单说下4种风格各自的特点:
Icon大图标风格:列表项的图标通常为32×32像素,在图标的下面显示标签。
Small Icon小图标风格:列表项的图标通常为16×16像素,在图标的右面显示标签。
List列表风格:与小图标风格类似,图标和文字的对齐方式不同。
Report报表风格:列表视图控件可以包含一个列表头来描述各列的含义。每行显示一个列表项,通常可以包含多个列表子项。最左边的列表子项的标签左边可以添加一个图标,而它右边的所有子项则只能显示文字。这种风格的列表视图控件很适合做各种报表。
CListCtrl类的主要成员函数
CListCtrl类有很多成员函数,这里就为大家介绍几个常用的主要成员函数。
UINT GetSelectedCount( ) const;
该函数返回列表视图控件中被选择列表项的数量。
POSITION GetFirstSelectedItemPosition( ) const;
获取列表视图控件中第一个被选择项的位置。返回的POSITION值可以用来迭代来获取其他选择项,可以当作参数传入下面的GetNextSelectedItem函数来获得选择项的索引。如果没有被选择项则返回NULL。
int GetNextSelectedItem(POSITION& pos) const;
该函数获取由pos指定的列表项的索引,然后将pos设置为下一个位置的POSITION值。参数pos为之前调用GetNextSelectedItem或GetFirstSelectedItemPosition得到的POSITION值的引用。返回值就是pos指定列表项的索引。
int GetItemCount( ) const;
获取列表视图控件中列表项的数量。
int InsertColumn(int nCol,const LVCOLUMN* pColumn ); int InsertColumn(int nCol,LPCTSTR lpszColumnHeading,int nFormat = LVCFMT_LEFT,int nWidth = -1,int nSubItem = -1 );
这两个函数用于在报表式列表视图控件中插入列。第一个函数中,nCol参数为插入列的索引,pColumn参数指向LVCOLUMN结构,其中包含了插入列的属性。第二个函数中,nCol参数也是插入列的索引,lpszColumnHeading参数为列标题字符串,nFormat参数为列中文本的对齐方式,可以是LVCFMT_LEFT、LVCFMT_RIGHT或LVCFMT_CENTER,nWidth参数为列宽,nSubItem为插入列对应列表子项的索引。两个函数在成功时都返回新列的索引,失败都返回-1。
BOOL DeleteColumn(int nCol);
该函数用于删除列表视图控件中的某列。参数nCol为删除列的索引。删除成功则返回TRUE,失败返回FALSE。
int InsertItem(int nItem,LPCTSTR lpszItem);
向列表视图控件中插入新的列表项。参数nItem为要插入项的索引,参数lpszItem为要插入项的标签字符串。如果插入成功则返回新列表项的索引,否则返回-1。
BOOL DeleteItem(int nItem);
从列表视图控件中删除某个列表项。参数nItem指定了要删除的列表项的索引。删除成功则返回TRUE,否则返回FALSE。
CString GetItemText(int nItem,int nSubItem) const;
获取指定列表项或列表子项的显示文本。参数nItem指定了列表项的索引,参数nSubItem指定了列表子项的索引。
BOOL SetItemText(int nItem,int nSubItem,LPCTSTR lpszText);
设置指定列表项或列表子项的显示文本。参数nItem和nSubItem同GetItemText。参数lpszText为要设置的显示文本字符串。如果设置成功则返回TRUE,否则返回FALSE。
DWORD_PTR GetItemData(int nItem) const;
该函数用于获取指定列表项的附加32位数据。参数nItem为列表项的索引。返回值就是由nItem指定列表项的附加32位数据。
BOOL SetItemData(int nItem,DWORD_PTR dwData);
该函数用于为指定列表项设置附加32位是数据。参数nItem为列表项的索引,参数dwData为列表项的附加32位数据。
标签:控件,列表框,MFC,int,是否,列表,文本,属性 From: https://blog.csdn.net/weixin_55673851/article/details/140100755