MFC常用控件

合集下载

MFC_基本控件使用

MFC_基本控件使用

MFC_基本控件使用MFC(Microsoft Foundation Class)是一种用于开发Windows应用程序的编程框架,它提供了一系列的类和函数,方便开发者快速地创建Windows界面和处理事件。

在MFC中,基本控件是开发应用程序的重要组成部分,它们用于显示和交互用户界面。

本文将介绍MFC中几种常用的基本控件以及它们的使用方法。

1. 按钮控件(CButton):按钮控件用于接收用户的点击操作,通常用于触发相应的事件处理函数。

创建按钮控件的方法如下:1)在资源视图中右击对应的对话框,选择“添加控件”;2)选择“按钮”并将其拖动到对话框上;3)设置按钮的属性,如ID、文本、尺寸等。

1)在资源视图中右击对应的对话框,选择“添加控件”;组合框控件允许用户从预定义的选项中进行选择,类似于下拉列表。

创建组合框控件的方法如下:1)在资源视图中右击对应的对话框,选择“添加控件”;2)选择“组合框”并将其拖动到对话框上;3)设置组合框的属性,如ID、选项列表、尺寸等。

4. 列表框控件(CListBox):列表框控件用于显示一个选项列表,并且可以支持多选。

创建列表框控件的方法如下:1)在资源视图中右击对应的对话框,选择“添加控件”;2)选择“列表框”并将其拖动到对话框上;3)设置列表框的属性,如ID、选项列表、尺寸等。

5. 树形视图控件(CTreeCtrl):树形视图控件用于显示一个层级结构的数据,类似于文件夹结构或者程序的菜单栏。

创建树形视图控件的方法如下:1)在资源视图中右击对应的对话框,选择“添加控件”;2)选择“树形视图”并将其拖动到对话框上;3)设置树形视图的属性,如ID、尺寸等;4)使用CTreeCtrl的成员函数添加、删除、修改树节点。

6. List控件(CListCtrl):1)在资源视图中右击对应的对话框,选择“添加控件”;2)选择“List控件”并将其拖动到对话框上;3)设置List控件的属性,如ID、列数、尺寸等;以上是几种常用的MFC基本控件的使用方法,通过使用这些控件,可以轻松地创建出一个功能完善、交互友好的Windows应用程序。

MFC通用控件使用详解

MFC通用控件使用详解

MFC通用控件使用详解首先,我们需要在MFC应用程序中包含要使用的控件的头文件。

例如,要使用按钮控件,我们需要包含afxwin.h文件。

然后,在对话框资源中添加一个按钮控件,并给它一个唯一的ID值。

在OnInitDialog(函数中,我们可以使用以下代码获取按钮控件的指针并对其进行操作:```cppCButton* pButton = (CButton*)GetDlgItem(IDC_BUTTON1);``````cpppButton->SetWindowText(_T("Click Me"));```我们还可以使用以下代码来设置按钮的样式:```cpppButton->SetButtonStyle(BS_DEFPUSHBUTTON);```这将使按钮默认显示为按下按钮。

```cppCEdit* pEdit = (CEdit*)GetDlgItem(IDC_EDIT1);``````cppCString strText;pEdit->GetWindowText(strText);``````cpppEdit->SetWindowText(_T("Hello World"));```对于列表框控件,我们可以使用以下代码获取列表框的指针:```cppCListBox* pListBox = (CListBox*)GetDlgItem(IDC_LIST1); ```然后,我们可以使用以下代码向列表框中添加项:```cpppListBox->AddString(_T("Item 1"));pListBox->AddString(_T("Item 2"));```我们还可以使用以下代码来获取列表框中选定项的索引:```cppint nIndex = pListBox->GetCurSel(;```此外,MFC通用控件还提供了进度条控件和组合框控件等功能。

MFC_基本控件使用

MFC_基本控件使用

MFC_基本控件使用MFC(Microsoft Foundation Classes)是一个用于基于 Windows 的应用程序开发的C++类库。

它提供了一套基本控件,使开发人员可以轻松地创建 Windows 应用程序的用户界面。

MFC提供了多种基本控件,用于显示和输入数据、与用户交互。

以下是一些最常见的基本控件及其用法:1. Button(按钮)控件Button 控件用于触发特定的操作或执行特定的功能。

创建 Button 控件的方法如下:```CButton myButton;myButton.Create("Click Me", WS_CHILD , WS_VISIBLE ,BS_PUSHBUTTON, CRect(10, 10, 100, 30), pParentWnd, ID_MYBUTTON);```其中,"Click Me" 是按钮的显示文本,WS_CHILD , WS_VISIBLE ,BS_PUSHBUTTON 是按钮的样式。

CRect(10, 10, 100, 30) 是按钮的大小和位置,pParentWnd 是按钮的父窗口,ID_MYBUTTON 是按钮的标识符。

Edit Control 控件用于接收用户输入的文本数据。

创建 Edit Control 控件的方法如下:```CEdit myEdit;myEdit.Create(WS_CHILD , WS_VISIBLE , WS_BORDER, CRect(10, 50, 300, 70), pParentWnd, ID_MYEDIT);```3. List Box(列表框)控件List Box 控件用于显示一个垂直列表,可以包含多个项。

创建 List Box 控件的方法如下:```CListBox myList;myList.Create(WS_CHILD , WS_VISIBLE , WS_BORDER ,LBS_NOTIFY, CRect(10, 90, 200, 200), pParentWnd, ID_MYLIST);```其中,WS_CHILD , WS_VISIBLE , WS_BORDER , LBS_NOTIFY 是列表框的样式。

MFC各种控件属性介绍

MFC各种控件属性介绍

MFC各种控件属性介绍MFC(Microsoft Foundation Class)是Microsoft提供的一套C++类库,用于简化Windows应用程序的开发过程。

MFC中有许多控件可以用于构建用户界面,每个控件都有自己的属性。

接下来将介绍一些常用的MFC控件及其属性。

1. Button按钮控件:3. List Box列表框控件:List Box控件用于显示一列选项供用户选择。

常用属性包括:列表框内容(List Box Content)、选择模式(Selection Mode)、默认选择项(Default Selection)等。

5. Static静态文本控件:Static控件用于显示一些静态文本信息。

常用属性包括:文本内容(Static Text)、字体属性(Font Attributes)、文本颜色(Text Color)等。

6. Check Box复选框控件:Check Box控件用于显示一个选项,用户可以选择或取消选择该选项。

常用属性包括:选项文本(Check Box Text)、选项状态(Check Box State)、选项位置(Check Box Position)等。

7. Radio Button单选按钮控件:Radio Button控件用于显示一组互斥的选项,用户只能选择其中的一个选项。

常用属性包括:选项文本(Radio Button Text)、选项状态(Radio Button State)、选项位置(Radio Button Position)等。

8. Slider滑块控件:Slider控件用于在一个范围内选择一个数值。

常用属性包括:数值范围(Value Range)、默认数值(Default Value)、滑块大小(Slider Size)等。

9. Progress Bar进度条控件:Progress Bar控件用于显示一个操作的进度。

常用属性包括:进度范围(Progress Range)、当前进度(Current Progress)、进度栏宽度(Progress Bar Width)等。

mfc clistctrl 使用

mfc clistctrl 使用

mfc clistctrl 使用MFC(Microsoft Foundation Classes)是一套由Microsoft开发的C++类库,用于快速开发Windows应用程序。

CListCtrl是MFC中的一个常用控件,用于展示列表数据。

本文将介绍如何使用MFC的CListCtrl来展示和操作数据列表。

一、CListCtrl的基本使用在使用MFC的CListCtrl之前,需要先在Dlg中添加一个CListCtrl 控件。

可以通过拖拽的方式将其添加到Dlg,并设置好控件的相关属性(如ID、位置、大小等)。

在初始化过程中,需要对CListCtrl进行一些基本设置。

可以通过以下代码实现:```cpp// 声明一个指针指向CListCtrl对象CListCtrl* pListCtrl = (CListCtrl*)GetDlgItem(IDC_LIST1);// 设置CListCtrl的风格pListCtrl->SetExtendedStyle(LVS_EX_FULLROWSELECT |LVS_EX_GRIDLINES);// 添加表头pListCtrl->InsertColumn(0, _T("列名称1"), LVCFMT_LEFT, 150);pListCtrl->InsertColumn(1, _T("列名称2"), LVCFMT_LEFT, 150);pListCtrl->InsertColumn(2, _T("列名称3"), LVCFMT_LEFT, 150);```通过上述代码,我们完成了CListCtrl的基本设置,包括设置风格、添加表头等。

二、添加数据接下来,我们需要向CListCtrl中添加数据。

可以通过以下代码实现:```cpp// 添加第一行数据pListCtrl->InsertItem(0, _T("数据1"));pListCtrl->SetItemText(0, 1, _T("数据2"));pListCtrl->SetItemText(0, 2, _T("数据3"));// 添加第二行数据pListCtrl->InsertItem(1, _T("数据4"));pListCtrl->SetItemText(1, 1, _T("数据5"));pListCtrl->SetItemText(1, 2, _T("数据6"));```通过上述代码,我们在CListCtrl中成功添加了两行数据。

MFC常用控件使用

MFC常用控件使用

MFC常用控件使用MFC(Microsoft Foundation Classes)是一个用于Windows平台的C++类库,用于开发基于Windows的图形用户界面应用程序。

MFC提供了许多常用的控件,开发人员可以使用这些控件来构建各种类型的Windows应用程序。

下面是一些常用的MFC控件和它们的使用方法:1. Button控件:Button控件用于创建按钮。

创建Button控件的方法是通过调用CButton类的Create函数,指定按钮的风格、位置和大小等参数。

之后,可以使用CButton类的成员函数来设置按钮的文本、图片和事件处理程序等。

3. List Box控件:List Box控件用于创建列表框,用于显示列表项。

创建List Box控件的方法是通过调用CListBox类的Create函数,指定列表框的风格、位置和大小等参数。

之后,可以使用CListBox类的成员函数来添加、删除和获取列表项等。

5. Static控件:Static控件用于显示静态文本。

创建Static控件的方法是通过调用CStatic类的Create函数,指定静态文本的风格、位置和大小等参数。

之后,可以使用CStatic类的成员函数来设置静态文本的内容、字体和颜色等。

6. Slider控件:Slider控件用于创建滑动条。

创建Slider控件的方法是通过调用CSliderCtrl类的Create函数,指定滑动条的风格、位置和大小等参数。

之后,可以使用CSliderCtrl类的成员函数来设置滑动条的范围、当前位置和事件处理程序等。

7. Progress控件:Progress控件用于显示进度条。

创建Progress 控件的方法是通过调用CProgressCtrl类的Create函数,指定进度条的风格、位置和大小等参数。

之后,可以使用CProgressCtrl类的成员函数来设置进度条的范围、当前位置和事件处理程序等。

8. Tree Control控件:Tree Control控件用于显示树形结构。

MFC 教程 第10章 常用控件1

MFC 教程 第10章 常用控件1

11.4.2列表框的基本操作
1、添加列表项
CListBox类成员函数AddString 和 InsertString向列表框增加列表项,函数 原型: int AddString( LPCTSTR lpszItem ); int InsertString( int nIndex, LPCTSTR lpszItem );
33
nIndexStart指定查找的开始位置。若为-1,从头到尾查找,查到后,
4、列表框的单项选择
当选中列表框中某个列表项,用户可以使用 CListBox::GetCurSel来获取这个结果,与该函 数相对应的CListBox::SetCurSel 函数是用来设 定某个列表项呈选中状态(高亮显示)。
键或单击下拉箭头隐藏列表框时发送此消息
CBN_SELCHANGE 组合框中的当前选择项将要改变时发 送此消息
40
例 编写一个单文档应用程序ExmpCombo,执行“测试控件| 组合框”菜单命令时打开一个对话框,初始的对话框有一个 用于显示标准控件名的组合框,当用户在组合框下拉的列表 框中选择一个控件时,该控件将显示在对话框的右部。当用 户在组合框的编辑框中输入一个列表项并单击“应用”按钮, 一个指定标题的静态文本控件将出现在对话框的右部。
36
例 编写一个对话框应用程ExmpList,对话框中有 一个列表框,当用户单击列表框中的一个列表项 (一个国家)时,在四个编辑框分别显示指定国家 的名称、首都、面积和人口。单击“添加”按钮时, “国家”编辑框中的文本将被添加到列表框中;单 击“删除”按钮时,当前的列表项将被删除。
37
11.5组合框
22
成员函数SetPos和SetRange设置旋转按钮控件 的当前位置和范围,原型: int SetPos( int nPos ); void SetRange( int nLower, int nUpper ); nPos表示控件的新位置。nLower 和 nUpper 表示控件的上限和下限。 成员函数GetPos和GetRange用来获取旋转按 钮控件的当前位置和范围。

MFC常用控件

MFC常用控件

精选2021版课件
7
CDialog类提供的函数成员
函数成员名
功能
Cdialog 构造Cdialog对象
Create 初始化CDialog对象
CreateIndirect 从内存中的对话框模板建立无模式对话 框
DoModal 显示有模式对话框
EndDialog
关闭有模式对话框
GotoDlgCtrl 把焦点移到对话框中指定的控件
精选2021版课件
14
精选2021版课件
15
列表框的基本操作
1.通用方法
通用方法用来获得和设置列表框数据的 值和属性,
所有的CListBox列表框,包括单选列表 框、多选列表框和自绘列表框等都有这 些方法。
精选2021版课件
16
2、单项选择特定方法 列表框的默认模式是单选项模式;
所有的通用方法均适用于单选项列表框。
精选2021版课件
30
使用CFileDialog对话框的步骤如下: 1.创建CFileDialog对象, CFileDialog的构造函数如下: CFileDialog( BOOL bOpenFileDialog, LPCTSTR lpszDefExt = NULL, LPCTSTR lpszFileName = NULL, DWORD dwFlags = OFN_HIDEREADONLY |
UpdateData(FALSE)将数据传送到对话框中,缺省的调用 发生在对话框的OnInitDialog( )创建一个有模式对话 框时。
用户可以在任何时候调用UpdateData( )进行数据交换, 该函数参数缺省值为TRUE。
示例:
显示Edit控件内容的两种方式
精选2021版课件

MFC常用控件样式一览

MFC常用控件样式一览

MFC常用控件样式一览CStatic样式从CWnd继承来的样式:WS_CHILD CStatic所必须的。

WS_VISIBLE 表示该控制对用户应该是可见的。

WS_DISABLED 表示该控制拒绝接受用户事件。

WS_BORDER 控制的文本区域带有边框。

CStatic固有的样式:SS_BLACKFRAME 该控制区域以矩形边界显示。

颜色与窗口框架相同。

SS_BLACKRECT 该控制以填充的矩形显示。

颜色与当前的窗口框架相同。

SS_CENTER 文本居中。

SS_GRAYFRAME 控制以矩形边框方式显示。

颜色与当前桌面相同。

SS_GRAYRECT 该控制以填充的矩形显示。

颜色与当前的桌面相同。

SS_ICON 控制以图标形式显示。

文本作为图标在资源文件的名称。

rect参数只控制位置。

SS_LEFT 文本居左显示。

文字可回绕。

SS_LEFTNOWORDWRAP 文本居左显示。

多余的文字被剪裁。

SS_NOPREFIX 表示字符串中的"&"字符不表示为加速前缀。

SS_RIGHT 文本居右显示。

文字可回绕。

SS_SIMPLE 只简单的显示一行文本。

任何CTLCOLOR信息都被其父窗口忽略。

SS_USERITEM 用户定义项。

SS_WHITEFRAME 控制以矩形边框方式显示。

颜色与当前窗口背景颜色相同。

SS_WHITERECT 控制以填充矩形方式显示。

颜色与当前窗口背景颜色相同。

CButton样式从CWnd继承来的样式:WS_CHILDWS_VISUBLEWS_BORDERCButton的固有样式:BS_AUTOCHECKBOX 检查框,按钮的状态会自动改变Same as a check box, except that a check markappears in the check box when the user selects the box; the check markdisappears the next time the user selects the box.BS_AUTORADIOBUTTON 圆形选择按钮,按钮的状态会自动改变 Same as a radio button, except thatwhen the user selects it, the button automatically highlights itself and removesthe selection from any other radio buttons with the same style in the samegroup.BS_AUTO3STATE 允许按钮有三种状态即:选中,未选中,未定Same as a three-state check box, except that the box changes its state when the user selects it.BS_CHECKBOX 检查框Creates a small square that has text displayed to its right(unless this style is combined with the BS_LEFTTEXT style)BS_DEFPUSHBUTTON 默认普通按钮 Creates a button that has a heavy black border. Theuser can select this button by pressing the ENTER key. Thisstyle enables theuser to quickly select the most likely option (the default option).BS_LEFTTEXT 左对齐文字When combined with a radio-button or check-box style, thetext appears on the left side of the radio button or check box.BS_OWNERDRAW 自绘按钮 Creates an owner-drawn button. The framework calls theDrawItem member function when a visual aspect of the button has changed. Thisstyle must be set when using the CBitmapButton class.BS_PUSHBUTTON 普通按钮Creates a pushbutton that posts a WM_COMMAND message tothe owner window when the user selects the button.BS_RADIOBUTTON 圆形选择按钮Creates a small circle that has text displayed to itsright (unless this style is combined with the BS_LEFTTEXT style). Radio buttonsare usually used in groups of related but mutually exclusive choices.BS_3STATE 允许按钮有三种状态即:选中,未选中,未定Same as a check box, except that the box canbe dimmed as well as checked. The dimmed state typically is used to show that acheck box has been disabled.rect为窗口所占据的矩形区域,pParentWnd为父窗口指针,nID 为该窗口的ID值。

MFC通用控件使用详解

MFC通用控件使用详解

MFC通用控件使用详解MFC(Microsoft Foundation Classes)是微软提供的一套用于开发Windows应用程序的C++类库,其中包括了许多常用的控件类,称为MFC通用控件。

本文将详细介绍MFC通用控件的使用。

例如,要使用按钮控件,首先需要在对话框资源中添加一个按钮控件,然后在对话框类的头文件中声明一个按钮变量:```cppCButton m_btnOK;```接下来,在对话框的OnInitDialog(函数中,使用DDX_Control函数将按钮资源和按钮变量关联起来:```cppDDX_Control(pDX, IDOK, m_btnOK);```现在,就可以通过按钮变量来操作按钮控件了。

可以使用按钮变量的EnableWindow(函数来启用或禁用按钮,使用SetWindowText(函数来设置按钮文本,使用GetCheck(函数来获取按钮的选中状态等等。

除了上述通用控件类,MFC还提供了专用的控件类,用于创建自定义的控件。

通过继承这些类,并重写相应的虚函数,可以创建具有自定义样式和功能的控件。

例如,通过继承CButton类,可以创建一个具有不同外观和动画效果的自定义按钮。

在使用MFC通用控件时,还需要注意以下几点。

首先,要注意控件的相对位置和大小,以便能够正确地布局和对齐。

其次,要使用合适的控件样式和扩展样式,以满足特定的需求。

例如,可以使用BS_RADIOBUTTON样式来创建单选按钮,使用LBS_MULTIPLESEL样式来创建多选列表框等等。

最后,要注意处理控件的消息和事件,以便能够及时响应用户的操作。

VC++6.0MFC常用控件

VC++6.0MFC常用控件

VC++6.0MFC常用控件一般控件可用/不可用EnableWindow(TRUE);EnableWindow(FALSE);1、Static Text------------静态控件--类CStatic取值/赋值(变量类型为Control)m_lbl.GetWindowT ext(string);m_lbl.SetWindowT ext(string);2、Edit Box---------------编辑控件--类CEdit取值/赋值m_txt.GetWindowT ext(string);m_txt.SetWindowT ext(string);3、Check Box------------复选控件--类CButton(1)设置选中/未选中m_chk.SetCheck(BST_CHECKED);m_chk.SetCheck(BST_UNCHECKED);(2)判断是否选中intnCur = m_chk.GetCheck();nCur取值为BST_CHECKED/BST_UNCHECKED。

4、Radio Box------------单选控件--类CButton(1)默认选中第一项m_radio.SetCheck(BST_CHECKED);(2)选中组中任一项CWnd::CheckRadioButtonSelects (adds a check mark to) a given radio button in a group and clears (removes a check mark from) all other radio buttons in the group.void CheckRadioButton(int nIDFirstButton, int nIDLastButton, int nIDCheckButton); ParametersnIDFirstButtonSpecifies the integer identifier of the first radio button in the group.nIDLastButtonSpecifies the integer identifier of the last radio button in the group.nIDCheckButtonSpecifies the integer identifier of the radio button to be checked.(3)判断哪一项被选中CWnd::GetCheckedRadioButtonRetrieves the ID of the currently checked radio button in the specified group.int GetCheckedRadioButton(int nIDFirstButton, int nIDLastButton);ParametersnIDFirstButtonSpecifies the integer identifier of the first radio button in the group.nIDLastButtonSpecifies the integer identifier of the last radio button in the group.Return ValueID of the checked radio button, or 0 if none is selected.(4)控件变量类型为Value时,可通过给int型变量赋值0、1、2...选中第1、2、3...个选项。

MFC编程入门之二十四(常用控件:列表框控件ListBox)

MFC编程入门之二十四(常用控件:列表框控件ListBox)

MFC编程⼊门之⼆⼗四(常⽤控件:列表框控件ListBox) 前⾯两节讲了⽐较常⽤的按钮控件,并通过按钮控件实例说明了具体⽤法。

本⽂要讲的是列表框控件(ListBox)及其使⽤实例。

列表框控件简介 列表框给出了⼀个选项清单,允许⽤户从中进⾏单项或多项选择,被选中的项会⾼亮显⽰。

列表框可分为单选列表框和多选列表框,顾名思义,单选列表框中⼀次只能选择⼀个列表项,⽽多选列表框可以同时选择多个列表项。

列表框也会向⽗窗⼝发送通知消息。

这些通知消息含义如下: LBN_DBLCLK:⽤户⽤⿏标双击了⼀列表项,只有具有LBS_NOTIFY的列表才能发送该消息。

LBN_ERRSPACE:列表框不能申请⾜够的动态内存来满⾜需要。

LBN_KILLFOCUS:列表框失去焦点。

LBN_SELCANCEL:当前的选择被取消,只有具有LBS_NOTIFY的列表框才能发送该消息。

LBN_SETFOCUS:列表框获得输⼊焦点。

WM_CHARTOITEM:当列表框收到WM_CHAR消息后,向⽗窗⼝发送该消息,只有具有LBS_WANTKEYBOARDINPUT风格的列表框才会发送该消息。

WM_VKEYTOITEM:当列表框收到WM_KEYDOWN消息后,向⽗窗⼝发送该消息,只有具有LBS_WANTKEYBOARDINPUT风格的列表框才会发送该消息。

列表框控件的创建 MFC将列表框控件的所有操作都封装到了CListBox类中。

创建列表框控件时,可以在对话框模板中直接拖⼊列表框控件ListBox,然后添加控件变量使⽤。

但如果需要动态创建列表框,就要⽤到CListBox类的Create成员函数了。

Create成员函数的原型如下: virtual BOOL Create( DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID ); 参数rect指定了列表框控件的位置和尺⼨,pParentWnd为⽗窗⼝的指针,nID⽤于指定列表框控件的ID。

MFC控件使用说明

MFC控件使用说明

MFC控件使用说明MFC(Microsoft Foundation Class)是一套面向C++开发的框架,用于快速开发图形用户界面(GUI)应用程序。

MFC提供了一套丰富的控件(Controls),用于实现各种功能和交互效果。

本文将介绍一些常用的MFC控件的使用说明。

1. Button 控件:Button控件用于显示一个按钮,用户点击按钮时会触发相应的事件处理函数。

使用方式如下:-在对话框资源中添加一个按钮控件,并为其设置ID号。

- 在对话框类的变量中声明按钮控件的成员变量,使用CButton类型。

- 在OnInitDialog函数中使用GetDlgItem函数获取按钮控件的指针,并使用它调用相应的函数,如SetWindowText设置按钮的文本内容。

3. List Box 控件:List Box控件用于显示一个列表,用户可以选择其中的项。

使用方式如下:-在对话框资源中添加一个列表框控件,并为其设置ID号。

- 在对话框类的变量中声明列表框控件的成员变量,使用CListBox类型。

- 在OnInitDialog函数中使用GetDlgItem函数获取列表框控件的指针,并使用它调用相应的函数,如AddString添加项,SetCurSel设置选中项。

-在对话框资源中添加一个组合框控件,并为其设置ID号。

- 在OnInitDialog函数中使用GetDlgItem函数获取组合框控件的指针,并使用它调用相应的函数,如AddString添加项,SetCurSel设置选中项。

5. Check Box 控件:Check Box控件用于显示一个复选框,用户可以选中或取消选中。

-在对话框资源中添加一个复选框控件,并为其设置ID号。

- 在对话框类的变量中声明复选框控件的成员变量,使用CButton类型。

- 在OnInitDialog函数中使用GetDlgItem函数获取复选框控件的指针,并使用它调用相应的函数,如SetCheck设置选中状态。

mfc基本控件

mfc基本控件

mfc基本控件
在MFC(Microsoft Foundation Classes)中,有许多基本的控件可用于创建用户界面。

以下列出了一些常见的MFC基本控件:
1. CButton:按钮控件,用于响应用户的点击操作。

2. CEdit:编辑框控件,用于显示和编辑文本。

3. CStatic:静态文本控件,用于显示静态文本内容。

4. CListBox:列表框控件,用于显示列表并允许用户选择其中的项。

5. CComboBox:组合框控件,结合了文本框和下拉列表框的功能。

6. CSliderCtrl:滑块控件,用于表示一个范围,用户可以通过拖动滑块选择值。

7. CProgressCtrl:进度条控件,用于显示任务或操作的进度。

8. CScrollBar:滚动条控件,用于使用滚动条浏览内容。

9. CTreeViewCtrl:树视图控件,用于显示树形结构的数据。

10. CListViewCtrl:列表视图控件,用于以表格形式显示数据。

这只是一些常见的MFC基本控件示例,MFC还提供了其他许多控件和自定义控件的扩展功能。

通过使用这些基本控件,您可以构建丰富的用户界面并与用户进行交互。

MFC常用控件使用

MFC常用控件使用

使用Windows标准控件我们在前面曾提到过,控件是一些行为标准化了的窗口,一般用于对话框或其它窗口中充当与用户交互的元素。

在Visual C++中,可以使用的控件分成三类:(1) Windows标准控件Windows标准控件由Windows操作系统提供,在Windows 95中还提供了一些新增的控件。

所有这些控件对象都是可编程的,我们可以使用Visual C++提供的对话框编辑器把它们添加到对话框中。

Microsoft基础类库(MFC)提供了封装这些控件的类,它们列于表6.1。

表6.1 Windows标准控件控件 MFC类 描述动画 CAnimateCtrl 显示连续的AVI视频剪辑按钮 CButton 用来产生某种行为的按钮,以及复选框、单选钮和组框组合框 CComboBox 编辑框和列表框的组合编辑框 CEdit 用于键入文本标题头 CHeaderCtrl 位于某一行文本之上的按钮,可用来控制显示文件的宽度热键 CHotKeyCtrl 用于通过按下某一组合键来很快的执行某些常用的操作图象列表 CImageList 一系列图象(典型情况下是一系列图标或位图)的集合。

图象列表本身不是一种控件,它常常是和其它控件一起工作,为其它控件提供所用的图象列表 列表 CListCtrl 显示文本及其图标列表的窗口列表框 CListBox 包括一系列字符串的列表进度 CProgressCtrl 用于在一较长操作中提示用户所完成的进度多格式文本编辑 CRichEditCtrl 提供可设置字符和段落格式的文本编辑的窗口滚动条 CScrollBar 为对话框提供控件形式的滚动条滑块 CSliderCtrl 包括一个有可选标记的滑块的窗口旋转按钮 CSpinButtonCtrl提供一对可用于增减某个值的箭头静态文本 CStatic 常用于为其它控件提供标签状态条 CStatusBarCtrl 用于显示状态信息的窗口,同MFC类CStatusBar类似续表6.1 控件 MFC类 描述选项卡 CTabCtrl 在选项卡对话框或属性页中提供具有类似笔记本中使用的分隔标签的外观的选项卡工具条 CToolBarCtrl 具有一系列命令生成按钮的窗口,同MFC类CToolBar类似工具提示 CToolTipCtrl 一个小的弹出式窗口,用于提供对工具条按钮或其它控件功能的简单描述树 CTreeCtrl 用于显示一系列的项的继承结构前面提到过,在MFC中,类CWnd是所有窗口类的基类,很自然的,它也是所有控件类的基类。

MFC常用控件

MFC常用控件

MFC常⽤控件按钮控件按钮控件包括命令按钮(Button)、单选按钮(Radio Button)和复选框(Check Box)等。

按钮控件会向⽗窗⼝发送通知消息,最常⽤的通知消息莫过于BN_CLICKED和BN_DOUBLECLICKED了。

⽤户在按钮上单击⿏标时会向⽗窗⼝发送BN_CLICKED消息,双击⿏标时发送BN_DOUBLECLICKED消息。

命令按钮(Button)在⼀个对话框中,Button可以定义⼀个默认按钮,这只要选中按钮属性中的“Default”选项。

如果在对话框活动的时候按下了Enter键,则等同于单击了默认按钮。

void CWindowDlg::OnBnClickedBtnTest1(){MessageBox(L"提⽰1");}void CWindowDlg::OnBnClickedBtnTest2(){MessageBox(L"默认按钮属性设置为true");}//测试2按钮的默认属性设置为true,当在对话框中点击enter键时,弹出对话框:默认按钮属性设置为true动态⽣成⼀个Button控件的⽅式如下:头⽂件中定义CButton对象CButton m_btnTest1;执⾏CButton::Create 创建⼀个CButton对象:BOOL Create( LPCTSTR lpszCaption, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID );int CWindowDlg::OnCreate(LPCREATESTRUCT lpCreateStruct){m_btnTest1.Create(L"哈哈哈", WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON, CRect(20, 100, 100, 160), this, IDC_BTN_HELLO1);//pParentWnd指⽰拥有按钮的⽗窗⼝(this为当前对话框对象),不能为NULL;//nID指定与按钮关联的ID号,⽤于按钮控件的事件处理( IDC_BTN_HELLO1)}stdadx.h中定义IDC_BTN_HELLO1宏#define IDC_BTN_HELLO1 1000运⾏后对话框显⽰的Button按钮结果如下:如果想让按钮有其他动作,⽐如当⿏标移动到按钮上时,按钮⽂本信息会变化。

MFC常用控件(一)

MFC常用控件(一)

MFC常用控件(一)1.1 传统控件的控件通知消息控件通过向父窗口发送控件通知消息来表明发生了某种事件.例如,当用户在按钮上单击鼠标时,按钮控件会向父窗口发送BN_CLICKED消息.传统控件的通知消息实际上是通过WM_COMMAND消息发给父窗口的(滚动条除外),在该消息的wParam中含有通知消息码(如BN_CLICKED)和控件的ID,在lParam中则包含了控件的句柄.利用ClassWizard可以很容易地为控件通知消息加入消息映射和消息处理函数,这在上一章中已经演示过了.传统控件的消息映射宏是ON_XXXX,其中XXXX表示通知消息码,如BN_CLICKED.ON_XXXX消息映射如下所示,该宏有两个参数,一个是控件的ID,一个是消息处理函数名.ON_XXXX(nID, memberFxn)消息处理函数的声明应该有如下形式:afx_msg void memberFxn( );例如,某按钮的BN_CLICKED消息的消息映射及其处理函数的声明如下所示ON_BN_CLICKED(IDC_ADD,OnAdd)afx_msg void OnAdd( );有时,为了处理方便,需要把多个ID连续的控件发出的相同消息映射到同一个处理函数上.这就要用到ON_CONTROL_RANGE 宏.ON_CONTROL_RANGE消息映射宏的第一个参数是控件消息码,第二和第三个参数分别指明了一组连续的控件ID中的头一个和最后一个ID,最后一个参数是消息处理函数名。

例如,要处理一组单选按钮发出的BN_CLICKED消息,相应的消息映射如下所示:ON_CONTROL_RANGE(BN_CLICKED, IDC_FIRST, IDC_LAST, OnRadioClicked)函数OnRadioClicked的声明如下,该函数比上面的OnAdd多了一个参数nID以说明发送通知消息的控件ID.afx_msg void OnRadioClicked(UINT nID);ClassWizard不支持ON_CONTROL_RANGE宏,所以需要手工建立消息映射和消息处理函数.6.1.2 静态控件静态控件包括静态正文(Static Text)和图片控件(Picture)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。


2、初始化对话框。设置或者修改数据成员m_ofn, m_ofn的数据成员是OPENFILENAME类型的。 OPENFILENAME结构体中有几个成员变量较常用: lpstrinitalDir:文件对话框初始文件夹; Flag:各种标志,如:OFN_ALLOWMULTISELECT 表示允许选择多个文件。 3、调用成员函数DoModal,显示文件对话框。

创建文件对话框对象时,系统执行CFileDialog( )构造函 数来建立此对象,可以通过它的参数在构造函数中设定 文件对话框的初值,决定是打开文件还是保存文件以及 设置过滤器,只把符合要求的文件在列表框中显示。
使用CFileDialog对话框的步骤如下: 1、创建CFileDialog对象, CFileDialog的构造函数如下:

对话框的分类
对话框有两种类型:模式对话框和无模式对话框。 1. 模式对话框 所谓“模式对话框”是指对话框被弹出后,用户必须 在对话框中作出相应的操作;在退出对话框之前,会 阻止其他应用程序的运行(包括它所在的应用程序)。 2. 无模式对话框 所谓“无模式对话框”是指当对话框被弹出后,将一 直保留在屏幕上,但不影响其他应用程序的运行,用 户可以继续在对话框所在的应用程序中进行其他操作; 当需要使用对话框时,只需像激活一般窗口一样单击 对话框所在的区域即可。例如在Microsoft Word中的 “查找”和“替换”对话框。
一个典型的过滤字符串如下面所示 CString szFilter=“All files(*.*)|*.*|Text files(*.txt)|*.txt|Word documents(*.doc)|*.doc||”;

例子:创建一个文件对话框fd1: CFileDialog fd1(TRUE,"*.txt",“test",1,szFilter);
MFC常用控件
对话框的组成
在VC++中,对话框主要是由对话框资源和对话框类组 成: 1. 对话框资源 对话框资源中描述的是对话框的大小、风格等特性, 以及对话框中控件的类型和它们的位置。定义对话框 资源最简单、最有效的方法就是使用Visual C++中的 资源编辑器。 2. 对话框类 对话框资源所提供的仅仅是一个数据结构,要利用所 创建的对话框资源,必须要创建以它作为资源的对话 框类,对话框类是从CDialog类中派生出的子类,它提 供了编程接口来管理对话框。



CNDialog *m_pDlg; m_pDlg=new CNDialog( ); m_pDlg->Create(); „„ delete m_pDlg;
数据交换 MFC类库使用数据交换(DDX)机制在对话框的控件和 对话框类的数据成员之间交换数据 UpdateData(TRUE)将数据从对话框的控制传递到对话 框对象的数据成员,缺省的调用在对话框的OnOk( )函 数中; UpdateData(FALSE)将数据传送到对话框中,缺省的调 用发生在对话框的OnInitDialog( )创建一个有模式对 话框时。 用户可以在任何时候调用UpdateData( )进行数据交换, 该函数参数缺省值为TRUE。 示例: 显示Edit控件内容的两种方式


建立对话框类:
对话框资源建立后还不能直接使用,通常需要为对 话框建立一个新类,然后创建对话框类的对象,才 能使用这个资源。


CDialog类提供的函数成员





函数成员名 功 能 Cdialog 构造Cdialog对象 Create 初始化CDialog对象 CreateIndirect 从内存中的对话框模板建立无模式对话框 DoModal 显示有模式对话框 EndDialog 关闭有模式对话框 GotoDlgCtrl 把焦点移到对话框中指定的控件 InitModalIndirect 从内存中的对话框建立有模式对话框;存储 参数,直到调用DoMoal函数 NextDlgCtrl 把焦点移到下一个控件 OnCancel 按下Cancel按钮或ESC键 OnInitDialog 优先完成对话框的初始化 OnOK 按下OK按钮 OnSetFont 在显示文本时,指定对话框使用的字体 PrevDlgCtrl 把焦点移到以前的对话框 SetHelpID 设置上下文相关的帮助ID

4、如果DoModal函数返回IDOK,则用户可调用文件 对话框的成员函数获取信息 if(fd1.DoModal()==IDOK) m_sFilePath=fd1.GetPathName();

使用CColorDialog对话框的步骤如下: 1、创建CColorDialog对象, CColorDialog的构造函数如 下: CColorDialog( COLORREF clrInit = 0, DWORD dwFlags = 0, CWnd* pParentWnd = NULL );



按钮的消息:
通常使用的有BN_CLICKED(单击)和BN_DOUBLECLICKED(双击)
按钮选中操作 设置和获取指定按的选中状态: void SetCheck(int nCheck); int GetCheck() const; 其中nCheck和GetCheck()的返回值可以是:0(不选中)、1(选 中)、2(不确定); 设置或获取多个单选按钮的选中状态: void CheckRadioButton(int nIDFirstButton,int nIDLastButton,int nIDCheckButton); int GetCheckedRadioButton(int nIDFirstButton,int nIDLastButton);
模式和非模式对话框共享相同的基类CDialog,并且它们都可 以使用对话框编辑器来创建对话框资源。

我们可以通过调用成员函数DoModal( )来显示一个有模式的对话框, 当函数返回时,对话框将不再存在。而无模式对话框在它本身处于 激活状态时,还允许用户使用其他的应用程序。 创建无模式对话框要比创建模式对话框复杂一些:首先要调用默认 构造函数构造一个对话框窗口对象;然后通过调用CDialog的成员 函数Create来创建对话框窗口,而不是调用成员函数DoModal。并 且当对话框仍然留在屏幕上时,控制已经立刻返回了。
静态控件

静态控件是用于显示一个字符串、框、图标、位图或 增强的图元文件。 在对话框的控件工具栏中,属于静态控件的有:静态 文本、组框和静态图片。 静态文本控件(Static Text Control); 静态图片(Picture Control);属性有:Center,image,Real size,Type,Image和Color


在VC++6.0中,新插入一个对话框,会在对话框中预设 了两个缺省按钮:OK和Cancel。 OK按钮接受用户对对话框的动作 Cancel按钮取消用户的动作。 运行时如果用户单击OK按钮,对话框关闭并返回IDOK 值; 运行时如果用户单击Cancel按钮,对话框关闭并返回 IDCANCEL值。

2、单项选择特定方法 列表框的默认模式是单选项模式; 所有的通用方法均适用于单选项列表框。 只有两个类方法专门处理单选项列表框: int GetCurSel() const; 获得当前选择列表框项的下标(基于0) int SetCurSel(int nSelect); 设定列表框的某个选项呈选中状态。 3、多项选择特定方法


按钮


常见的按钮有如下几种类型:命令按钮、单选按钮和复选 按钮。
命令按钮(button):命令按钮适用于消息的发送,通常用于执行某个命 令。 复选框(Checkboxes)按钮 :常用于只有两种完全相反状态的情况下 单选按钮(Radio button) :适用于同一组属性相同的数据中选一个数据。






两种对话框在用资源编辑器设计和使用Class Wizard 进行编程时的方法基本一致。但在创建和退出窗口时的 方式有所不同。 在创建时,模式对话框是由系统自动分配内存空间,因 此在退出对话框时,对话框对象会自动删除。而无模式 对话框则是需要用户来指定内存,退出时还需用户自己 来删除对话框对象。 在退出时,两种对话框所使用的终止函数不一样。模式 对话框通过调用CDialog::EndDialog()来终止,而无 模式对话框则是通过调用CWnd::DestroyWindow() 来 终止。
列表框(ListBox)
列表框常用于从众多数据中选某一项,如在对话框里, 用列表框选择文件名、目录等。 按性质来说,列表框有单选、多选、扩展多选和非选四 种类型。

列表框的基本操作 1、通用方法

通用方法用来获得和设置列表框数据的值和属性, 所有的CListBox列表框,包括单选列表框、多选列表框 和自绘列表框等都有这些方法。



5、列表框的通知消息
组合框
组合框结合了列表框和编辑框的特点,可以把常用的 的项列在列表框中以供选择,而同时提供编辑框,允 许用户输入列表框中所没有的新项。 组合框的主要风格特征,可分为三类:简单组合框 (Simple)、下拉式组合框(Dropdown)、下拉式列表框 (DropList)。 简单组合框、下拉式组合框都包含列表框和编辑框, 但简单组合框中的列表项不需要下拉,而是直接显示 出来。 组合框的常见操作基本与列表框类似,但获取字符串 的操作与列表框不同: ---int GetLBText(int nIndex, LPTSTR lptszText); ---void GetLBText(int nIndex, CString &rString);
相关文档
最新文档