MFC控件学习篇

1、 编辑框(Edit

CEdit  m_edname;       

DDX_Control(pDX, IDC_EDIT_NAME, m_edname);

m_edname.SetWindowText("猪");

m_edname.GetWindowText(strName);

 

Cstring  strName;

DDX_Text(pDX, IDC_EDIT_NAME, strName);

 

2、 复选框/下拉框(combo box

//初始化

       m_cbbGender.AddString(_T("男"));

        m_cbbGender.AddString(_T("女"));

        m_cbbGender.AddString(_T("其他"));

//获取值

CComboBox    m_cbbGender;

       m_cbbGender.GetWindowText(strGender);

        int index= m_cbbGender.GetCurSel();

  3、列表框(list box

    ClistBox      m_lbInfo;

     Cstring    strInfo;

      strInfo.Format(_T("%s,%s,现年%s岁,家住:%s,爱好%s%s%s"),

                    strName, strGender, strAge, strAddr, strBook, strMusic, strGame);

 

     m_lbInfo.InsertString(-1, strInfo);    //在尾部添加

 

    m_lbInfo.AddString(strInfo);         //添加位置不确定,好像有某种规律

4、单选按钮(radio box

//初始化

((CButton*)GetDlgItem(IDC_RADIO_XA))->SetCheck(1);

 

//定义和获取值

     CButton* pbtXA, *pbtBJ, *pbtSH;

 

     pbtXA = (CButton*)GetDlgItem(IDC_RADIO_XA);

     pbtBJ = (CButton*)GetDlgItem(IDC_RADIO_BJ);

     pbtSH = (CButton*)GetDlgItem(IDC_RADIO_SH);

    if(pbtXA->GetCheck() == 1)

     {

         pbtXA->GetWindowText(strAddr);

     }

     else if(pbtBJ->GetCheck() == 1)

     {

         pbtBJ->GetWindowText(strAddr);

     }

     else if(pbtSH->GetCheck() == 1)

     {

         pbtSH->GetWindowText(strAddr);

     }

     else

     {

         m_stTip.SetWindowText(_T("所选信息不完整,请重新选择!"));

     }

  5、多选框(check box

     CButton  m_btMusic;

     CButton  m_btGame;

     CButton  m_btBook;

if(m_btBook.GetCheck() == 1)

     {

         m_btBook.GetWindowText(strBook);

     }

     if(m_btMusic.GetCheck() == 1)

     {

         m_btMusic.GetWindowText(strMusic);

     }

     if(m_btGame.GetCheck() == 1)

     {

         m_btGame.GetWindowText(strGame);

     }

6、树控件(tree control

CTreeCtrl   m_tctree;

DDX_Control(pDX, IDC_TREE1, m_tctree);

     HTREEITEM root=m_tctree.InsertItem(_T("系统设置"),0,1);

 

     HTREEITEM subroot1=m_tctree.InsertItem(_T("语言"),2,2,root);

     HTREEITEM subroot2=m_tctree.InsertItem(_T("蓝牙"),3,3,root);

     HTREEITEM subroot3=m_tctree.InsertItem(_T("网络"),4,4,root);

 

     m_tctree.InsertItem(_T("中文"),5,5,subroot1);

     m_tctree.InsertItem(_T("english"),6,6,subroot1);

 

     m_tctree.InsertItem(_T("开"),0,0,subroot2);

     m_tctree.InsertItem(_T("关"),0,0,subroot2);

7、列表控件(list control

CListCtrl  m_clText;

DDX_Control(pDX, IDC_LIST1, m_clText);

m_clText.InsertColumn(0,_T("序号"),LVCFMT_LEFT,80);

m_clText.InsertColumn(1,_T("厂商"),LVCFMT_LEFT,80);

 

 m_clText.InsertItem(0,_T("13"),0);

 m_clText.InsertItem(0,_T("skyworth"),0);

8、滑块(slider contorl)

     CSliderCtrl   m_scslider;

     m_scslider.SetRange(0,100); //范围

     m_scslider.SetPos(37);//设置位置

int curpos=m_scslider.GetPos();//获取位置值,值为整数

 

   CString  slstr;

  slstr.Format(_T("%d"),curpos);//转换为字符型

8、进度条(process control

CProgressCtrl   m_cprogress;

     m_cprogress.SetRange(0,100);

  m_cprogress.SetStep(1);

   m_cprogress.StepIt();//走一步

1.1   函数说明

该函数中的代码是由ClassWizard自动加入的。DoDataExchange只有一个参数,即一个CDataExchange对象的指针pDX。在该函数中调用了DDX函数来完成数据交换,调用DDV函数来进行数据有效检查。

当程序需要交换数据时,不要直接调用DoDataExchange函数,而应该调用CWnd::UpdateDataUpdataData函数内部调用了DoDataExchange。该函数只有一个布尔型参数,它决定了数据传送的方向。调用UpdateData(TRUE)将数据从对话框的控件中传送到对应的数据成员中,调用UpdateData(FALSE)则将数据从数据成员中传送给对应的控件。

在缺省的CDialog::OnInitDialog中调用了UpdateData(FALSE),这样,在对话框创建时,数据成员的初值就会反映到相应的控件上。若用户是按了OK(确定)按钮退出对话框,则对话框认为输入有效,就会调用UpdataData(TRUE)将控件中的数据传给数据成员。

DoDataExchange(CDataExchange* pDX);

OnInitDialog();    //初始化只调用一次

OnSysCommand(UINT nID, LPARAM lParam);

OnPaint();

OnQueryDragIcon();

1.2图像列表(CImageList)图像列表控件(CImageList)是相同大小图像的一个集合

CimageList  m_ilText;

milText.Create(IDB_BITMAP2,14,1,RGB(0,0,0));

m_tctree.SetImageList(&milText,TVSIL_NORMAL);

//TVSIL_NORMAL:Tree View SetImageList(TVSIL)

//LVSIL_NORMAL:List View SetImageList(LVSIL)

m_clText.InsertColumn(0,_T("序号"),LVCFMT_LEFT,80);

m_clText.InsertColumn(1,_T("厂商"),LVCFMT_LEFT,80);

 

 m_clText.InsertItem(0,_T("13"),0);

 m_clText.InsertItem(1,_T("14"),1);// InsertItem(第几项,内容,图)

m_clText.SetItemText(0,1,_T("skyworth"));// SetItemText(第几项,第几列,内容)

m_clText.SetItemText(1,1,_T("TCL"));

1.3类型的设置

 

DWORD dwstyle=GetWindowLong(m_clText.m_hWnd,GWL_STYLE);//获取

SetWindowLong(m_clText.m_hWnd,GWL_STYLE,dwstyle);//设置

 

1.4定时器

 

SetTimer(定时器窗口句柄,定时器ID,间隔时间,回调函数)

1.设置定时器

MFC程序中SetTimer被封装在CWnd类中,调用就不用指定窗口句柄

SetTimer(1,1000,NULL);

1:计时器的名称;

1000:时间间隔,单位是毫秒;

NULL:使用OnTimer函数。

2.杀死定时器

KillTimer(1);

例子:

UINT m_ptimer;

m_ptimer=SetTimer(1,50,NULL);

KillTimer(m_ptimer);

1.5提示

::AfxMessageBox(“输入有误”);

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值