MFC几个控件的使用

使用Pushbutton按钮

1. GetDlgItem()函数得到一个指向CWnd对象的指针,该指针可以传递给相应的类,用来获取或设置控件的属性。使用方法是将要获取指针的控件的ID传递给它,GetDlgItem()即可返回一个指向代表该控件的CWnd对象的指针。
2. 设置按钮的可见与不可见:
BOOL bVisible=GetDlgItem(IDC_BUTTON1)->IsWindowVisible;//获取按钮的是否可见状态
GetDlgItem(IDC_BUTTON1)->ShowWindow(SW_SHOW)//设置为可见
GetDlgItem(IDC_BUTTON1)->ShowWindow(SW_HIDE)//设置为不可见
设置按钮的标题:GetDlgItem(IDC_BUTTON1)->SetWindowText("show")//设置按钮的标题为“show”
3. 按钮的使能与禁止:
BOOL bState=GetDlgItem(IDC_BUTTON1)->IsWindowEnable();
//获取按钮的使能与禁止状态
GetDlgItem(IDC_BUTTON1)->EnableWindow(TRUE);//
GetDlgItem(IDC_BUTTON1)->EnableWindow(FLASE);//
也可用用ClassWizard的Member Variables为按钮定义变量,如:m_Button1;然后用
m_Button1.EnableWindow(true); //使按钮处于允许状态
m_Button1.EnableWindow(false); //使按钮被禁止,并变灰显示
4.设置对话框标题
CString strCaption=”你好!”;
SetWindowText(strCaption);


使用单选按钮
1.对单选按钮进行分组:
多个单选按钮被编为一组是通过使用Group属性实现的。在一个单选按钮的属性中选中Group项,它会被自动看作组框中的第一个控件,接下来的每一个控件只要不选择Group项,它都会被认为是同一个组框中的控件。下一次给单选按钮选中Group项时,它会被认为是另一个组框中的第一个控件。
每组的第一个单选按钮设置属性:Group,Tabstop,Auto;其余按钮设置属性Tabstop,Auto。
如:
Ridio1、Ridio2、Ridio3为一组,Ridio4、Ridio5为一组
 
设定Ridio1属性:Group,Tabstop,Auto
设定Ridio2属性:Tabstop,Auto
设定Ridio3属性:Tabstop,Auto
 
设定Ridio4属性:Group,Tabstop,Auto
设定Ridio5属性:Tabstop,Auto
 
2.获取选中的单选按钮:
首先为单选按钮组映射一个变量,实际上给单选按钮组中的第一个单选按钮(选中Group属性的单选按钮)映射变量。
void CCityBreakDlg::OnOK()
{
 
       CString strMessage;
       CString strHotel;
       CString strDest;
      
       //transfer data from contrals to the variables将控件的值传给变量
       UpdateData();
       //UpdateData()从对话框的控件中得到数据,并且更新与他们相联系的变量
      
       //retrieve(重新得到) the caption of each selected radio button
      
       GetDlgItem(IDC_LUXURY+m_nHotel)->GetWindowText(strHotel);
       //得到饭店类型组中被选中的单选按钮的标题
      
       GetDlgItem(IDC_LONDON+m_nDestination)->GetWindowText(strDest);
       //得到目的组中被选中的单选按钮的标题
      
       //format and display the message
      
       strMessage="bon vayage to "+ strHotel+" Hotel in "+strDest;
              //合并选中按钮的文字以得到要显示的信息
       MessageBox(strMessage);
      
       CDialog::OnOK();
}
3.用ClassWizard生成各单选按钮的单击消息函数,并加入内容:
 
void CWEditView::OnRadio1()
{
    m_Ridio1 = 0;    //第一个单选按钮被选中
}
void CWEditView::OnRadio2()
{
    m_Ridio1 = 1;    //第二个单选按钮被选中
}
void CWEditView::OnRadio3()
{
    m_Ridio1 = 2;    //第三个单选按钮被选中
}
void CWEditView::OnRadio4()
{
    m_Ridio4 = 0;    //第四个单选按钮被选中
}
void CWEditView::OnRadio5()
{
    m_Ridio4 = 1;    //第五个单选按钮被选中
}
 
设置默认按钮:
在定义控件变量时,ClassWizard在构造函数中会把变量初值设为-1,只需把它改为其它值即可。
如:
//{{AFX_DATA_INIT(CWEditView)
m_Ridio1 = 0;    //初始时第一个单选按钮被选中
m_Ridio4 = 0;    //初始时第四个单选按钮被选中
//}}AFX_DATA_INIT


使用复选框
1.首先为IDC_CHECK1复选框添加一个BN-LCICKED消息处理函数。
使用CButton类的成员函数GetCheck()函数可以获取复选框的状态,使用SetCheck()函数设置复选框的状态。示例如下:
void CCityBreakDlg::OnChampagne()
{
       CButton *pDance=(CButton*)GetDlgItem(IDC_DANCE);
       //得到得到指向idc_dance复选框的CButton指针
 
       CButton *pChamp=(CButton*)GetDlgItem(IDC_CHAMPAGNE);
       //得到得到指向idc_champagne复选框的CButton指针
      
       //如果champagne复选框被选中,dance复选框也要被选中
       if (pChamp->GetCheck())
       {
              pDance->SetCheck(1);
       }
}
使用文本控件
1.获取和设置编辑框内容
有两种方法:
方法一:使用指针
CEdit* pEdit1=(CEdit*)GetDlgItem(IDC_EDIT1);     //为编辑控件指定指针
CString strText;
pEdit1->GetWindowText(strText);
//得到编辑控件的内容,并把它赋给一个字符串变量
同样,给编辑框赋值:
GetDlgItem(IDC_EDIT1)->SetWindowText("你要赋的值");  
方法二:使用控件变量   
在ClassWizrd中关联一个变量m_Edit,
CEdit   m_Edit;  
m_Edit.SetWindowText("你要赋的值");  

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/microchuan/archive/2007/04/25/1584617.aspx

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: MFC 中的列表控件是一个非常常用的控件,可以用来显示和编辑大量的数据。下面是一个简单的 MFC 列表控件使用实例: 1. 创建一个对话框,并在上面添加一个列表控件控件。 2. 在对话框类的头文件中添加以下代码: ```cpp #include <afxcmn.h> class CMyDlg : public CDialogEx { public: CMyDlg(CWnd* pParent = nullptr); enum { IDD = IDD_MY_DIALOG }; private: CListCtrl m_listCtrl; }; ``` 3. 在 OnInitDialog 函数中对列表控件进行初始化: ```cpp BOOL CMyDlg::OnInitDialog() { CDialogEx::OnInitDialog(); // 添加列 m_listCtrl.InsertColumn(0, _T("姓名"), LVCFMT_LEFT, 100); m_listCtrl.InsertColumn(1, _T("年龄"), LVCFMT_LEFT, 100); // 添加行 m_listCtrl.InsertItem(0, _T("张三")); m_listCtrl.SetItemText(0, 1, _T("20")); m_listCtrl.InsertItem(1, _T("李四")); m_listCtrl.SetItemText(1, 1, _T("25")); // 设置风格 m_listCtrl.SetExtendedStyle(m_listCtrl.GetExtendedStyle() | LVS_EX_FULLROWSELECT); return TRUE; } ``` 4. 编译并运行程序,即可看到列表控件中显示了两行数据,每行有两列。 以上就是一个简单的 MFC 列表控件使用实例。需要注意的是,列表控件还可以进行更多的高级操作,比如排序、编辑、拖放等。如果需要进行更复杂的操作,可以参考 MFC 文档或在网上查找相关资料。 ### 回答2: MFC(Microsoft Foundation Classes)是一套由微软提供的C++编程类库,用于开发Windows桌面应用程序。其中包含了许多常用的控件,例如列表控件(List Control)。 列表控件是一个显示数据列表的窗口部件,以表格的形式展示数据。我们可以在MFC应用程序中使用列表控件来显示和编辑数据,如需使用列表控件,我们可以按照以下步骤进行操作: 1. 创建一个MFC应用程序并打开资源视图。 2. 在资源视图中选择对话框,并双击以打开对话框设计视图。 3. 在对话框中插入一个列表控件。可以在工具箱中找到列表控件,并将其拖拽到对话框上。 4. 双击列表控件以进入其属性界面。在属性页中,我们可以设置列表控件的样式、布局和其他属性,如行数、列数、标题等。 5. 在应用程序的视图类中,打开对话框类的.cpp文件。可以在OnInitDialog()函数中编写如下代码来初始化列表控件: ```cpp // 获取列表控件对象指针 CListCtrl* pListCtrl = (CListCtrl*)GetDlgItem(IDC_LIST1); // 设置列表控件为报告视图 pListCtrl->ModifyStyle(0, LVS_REPORT); // 插入列 pListCtrl->InsertColumn(0, _T("列1"), LVCFMT_LEFT, 100); pListCtrl->InsertColumn(1, _T("列2"), LVCFMT_LEFT, 100); // 插入行 pListCtrl->InsertItem(0, _T("数据1")); pListCtrl->SetItemText(0, 1, _T("数据2")); ``` 这段代码将列表控件设置为报告视图并插入了两列,并在第一行插入了数据。你可以根据自己的需求进行修改。 6. 运行应用程序,你将看到一个显示有数据的列表控件。你可以使用列表控件的其他成员函数来增加、删除、编辑和获取列表中的数据。 总结而言,使用MFC中的列表控件需要进行资源的设计和对控件的属性设置,然后在视图类中初始化和操作列表控件即可。通过这些步骤,我们可以方便地在MFC应用程序中使用列表控件来展示和操作数据。 ### 回答3: MFC(Microsoft Foundation Classes)是一套用于开发Windows桌面应用程序的C++编程框架。列表控件MFC中一个常用的控件,用于显示和管理一组数据。 使用MFC列表控件的实例可以包括以下几个步骤: 1. 创建列表控件: 在MFC应用程序中,可以通过资源视图中的控件编辑器来添加列表控件。也可以在代码中调用列表控件的Create函数动态创建。创建列表控件时,需要设置控件的样式和属性,如多选或单选、排序等。 2. 添加列标题: 通过列表控件的InsertColumn函数,可以添加列标题。可以为每个列指定标题文本和宽度等属性,以便用户能够区分和查看列表中的数据。 3. 添加列表项: 通过列表控件的InsertItem函数,可以添加列表项。可以为每个列表项设置图标、文本和子项等属性。列表项可以根据需要进行增删改查操作。 4. 添加子项: 通过列表控件的SetItemText函数,可以为列表项添加子项。子项可以存储更多的数据,如日期、价格等。可以为每个子项设置文本和自定义格式。 5. 响应用户交互: 可以在代码中为列表控件注册相应的消息响应函数,如双击列表项触发的消息、拖拽列表项触发的消息等。通过这些函数,可以实现列表控件的各种交互和操作。 6. 数据管理: 可以通过代码操作列表控件中的数据,如获取选择的列表项、修改列表项的文本等。还可以通过数据结构或数据源来管理列表控件中的数据,如从数据库读取数据并显示在列表中。 通过以上步骤,就可以使用MFC列表控件在应用程序中展示和管理一组数据。列表控件在实际应用中非常常见,可用于显示文件列表、日程安排、任务状态等各种信息。可以根据需要进行自定义,满足不同应用场景的需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值