zoukankan      html  css  js  c++  java
  • 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));

  • 相关阅读:
    Nginx编译安装第三方模块http_substitutions_filter_module
    房产网站网址收藏
    nginx图片过滤处理模块http_image_filter_module安装配置笔记
    Lua顺序 执行顺序
    Dig HOWTO 中文手册--dig命令使用大全
    没有局域网环境,全是公网IP可以做LVS吗,该如何做了!请大家赐教!
    Nginx HttpSubModule sub_filter模块的过滤功能
    NGINX扩展
    oracle中导出sql的几个常见词语的意思
    int型变量,不使用中间变量完成互换
  • 原文地址:https://www.cnblogs.com/judes/p/5869030.html
Copyright © 2011-2022 走看看