• mfc控件学习


    0、所有控件

      软件启动自动被选中:属性中的tabstop改为true或者false

    1、Button

        1、

       动态设置button的字:btn.SetWindowTextW(_T("我不是一个按钮"));

       获取控件的内容,如Button和Edit Ctrol,用GetDlgItemTextW。函数原型:int GetDlgItemText(int nID, CString& rString) const;

       eg:CString str;

        GetDlgItemText(IDC_BUTTON,str);

      如果是双击响应,需要修改属性notify为TRUE

      2、设置不可点击

      Cwnd::EnableWIndow(false);

    2、ComBo Box:就是一个下拉框,里面有很多属性可以使用,如选择波特率。

      1、在里面填入数据

      属性里有一DaTa,填入数据,不同数据之间用分号隔开。

      2、解决只能显示一行

      点击ComBo Box,有个黑点,把黑点往下拉。

      3、默认显示第某行

      CComboBox* pcombobox=(CComboBox*)GetDlgItem(IDC_combobox);

      pcombobox.SetCurSel(n);

      4、设置不可编辑

      在Type中选择成Drop List

    3、Edit Control

      设置内容。要根据给这个控件设置的变量类型来决定。

      (1)、当设置变量类型为CString,假设变量名为edit:

        CString str=_T("shit");
        edit=str;
        UpdateData(FALSE);

      (2)、当设置变量类型为CEdit,假设变量名为edit1:

        edit1.SetWindowText(_T("shit"));

      (3)、设置Edit一直显示多行数据的最下面 

        1、CEdit* pedit = (CEdit*)GetDlgItem(IDC_EDIT1); //获得控件指针对象

           pedit->LineScroll(pedit->GetLineCount());//闪屏

           2、 pRcv_rich_edit->PostMessage(WM_VSCROLL, SB_BOTTOM,0);//不闪屏

      (4)、选择指定位置字符串,并选中

         pedit->SetSel(num1,num2);

           pedit->SetFocus();

         选中末尾,pedit->SetSel(-1,-1);

      (5)、追加一行

         m_edit.SetSel(-1,-1);  //插入光标放于最后
         m_edit.ReplaceSel(_T("123"));
         m_edit.ScrollWindow(0,0);  //滚动到插入点

    4、CheckBox

      (1)、获取其控件指针

           CButton *pbutton=(CButton*)GetDlgItem(IDC_Check);//因为CheckBox的父类是CButton;

      (2)、判断是否被勾选

          if(pbutton->GetCheck()==1)//等于1是被勾选,0是没有勾选,其他是未知

            ...

    5、CRichEditCtrl

      设置格式:

      CHARFORMAT cf; //格式结构体

      cf.dwMask = CFM_COLOR|CFM_SIZE;//必须初始化这个
        cf.dwEffects = CFM_BOLD;//黑体
        cf.crTextColor = RGB(0,0,0);
        cf.yHeight = 180;

      pedit->SetSel(num1,num2);

      SetSelectionCharFormat(cf);

    注意:在对CRichEdit设置颜色的时候,应先把编辑框前面所有的_T(" ")去掉,因为获取的整个编辑框的字体个数(GetLenth)算上了回车,

    而SetSel(num1,num2)是没有算上回车的;在使用此控件之前:you must call AfxInitRichEdit once before the dialog box is displayed. A typical place to call this function is in your program’s InitInstance member function.

    6、CIpCtrlAddress

    可以直接使用:this->SetDlgItemText(IDC_IP,_T("192.1.1.1");

     7、CStatic

      1、设置颜色

      添加消息函数OnCtlColor,添加代码

      if(pWnd->GetDlgCtrlID() == IDC_STATIC) pDC->SetTextColor(RGB(255,0,0));

  • 相关阅读:
    贡献15本经典C、C++、MFC、VC++教程,都是pdf完整版的
    雪花
    孙鑫C++视频教程 rmvb格式 全20CD完整版 精品分享
    mac上用VMWare虚拟机装win7
    阿里云如何解析域名,搭建云服务器环境
    2. Windows编程基础
    复制指定目录下的全部文件到另一个目录中
    Select查询命令
    使用OneNote2016发送博客
    Linux数字雨
  • 原文地址:https://www.cnblogs.com/judes/p/5869030.html
Copyright © 2020-2023  润新知