zoukankan      html  css  js  c++  java
  • MFC基础知识整理

    CComBox::

    设置一个指向IDC_COMBO1的指针,用AddString()填充下拉框:

        CComboBox*pComb=NULL; 
        pComb
    =(CComboBox*)this->GetDlgItem(IDC_COMBO1);
        pComb
    ->AddString("Com1");
        pComb
    ->AddString("Com2");
        pComb
    ->AddString("Com3");

    取得下拉框的索引,然后将它的值赋给一个变量:

         index=pComb->GetCurSel();
         pComb
    ->GetLBText(index,value);

    设置文本框的值:

        CString strTemp;
        GetDlgItemText(IDC_COMBO,strTemp);
        strTemp
    +=" ";
        SetDlgItemText(IDC_COMBO,strTemp);

    状态栏(StatusBar):

    在状态栏中添加一个窗口(ID_STATUSBAR_STR),值为"Test",先在MainFrm中找到Indicators的结构体,然后在

    结构体中添加"ID_STATUSBAR_STR",如下:

    static UINT indicators[] =
    {
        ID_SEPARATOR,           
    // status line indicator
        ID_INDICATOR_CAPS,
        ID_INDICATOR_NUM,
        ID_INDICATOR_SCRL,
            ID_STATUSBAR_STR,
    }
    ;

    当然,还可以在"VIEW"A菜单中的"Resource Symbols"中添加状态栏窗体(ID_STATUSBAR_STR).下面的代码可以

    在程序中动态的改变状态栏的窗口(ID_STATUSBAR_STR)值:

        CClientDC dc(this);
        SIZE size
    =dc,GetTextExtent("Test成功拉!");
        
    int index=m_wndStatusBar.CommandToIndex(ID_STATUS);
        m_wndStatusBar.SetPanelInfo(index,ID_STATUS_STR,SBPS_POPOUT,size.cx);
        m_wndStatusBar.SetPanelText(index,_T(
    "Test成功拉!",TRUE);

     图形图象处理:

    DC&GDI

    DC的意思是设备环境,GDI的英文全称是Graphics Device Interface,即图形设备接口,在Windows程序中显示工作

    是有DC来完成的,绘图工作是由GDI来完成的,那么,在初始化绘图对象之前,应该先初始化DC.

     

    基类 CObject      
    DC类 CDC      
    派生类 CPaintDC CClientDC CWindowsDC CMetaFileDC

    CWindowsDC类与CPaintDC,CClientDC类的区别:

    1.CWindows类可以在客户区和非客户区绘图,而CPaintDC,CClientDC只能在客户区绘图,所以CWindows

    要在MainFrm类中使用,在VeiwL类中使用就不能在非客户区中绘图;

    2.CWindows类在整个屏幕中建立坐标,而CPointDC和CClientDC是在客户区中建立坐标的.

    绘图设备类(GDI):

    基类 CGdiObject          
    派生类 CPen CBrush CFont CBitmap CRgn CPalette

    绘图类的使用步骤:

    1.定义一个GDI对象(如CPen,CBrush等),然后调用相应的函数(如CreatePen,CreatSolidBrush等)创建此GDI

    对象.

    2.将已构造出的GDI对象利用设备环境类的成员函数SelectObjiect()选入到当前环境中,并同时将原来的GDI对

    象保存起来;

    3.绘图结束后,恢复当前设备环境中原来的GDI对象,即利用设备环境类的成员函数SelectObjict将原来的GDI对

    象重新选入.

    下面是一个CPen类绘图的实例:

    CPen pen;

    pen.CreatPen(OS_SOLID,1,RGB(255,0,0));

    CPen *pOldPen=pDC->SelectObjiect(&pen);

    ......

    pDC->SelectObjiect(pOldPen);

    改变Edit控件的字体大小:

          CClientDC dc(this);
          CEdit
    * pEdit = (CEdit*)GetDlgItem(IDC_EDIT1);
          CFont
    * font = new CFont;
          font
    ->CreatePointFont(400, _T("华文行楷"), &dc);
          
    if(pEdit)
          
    {
              pEdit
    ->SetFont(font, TRUE);
           }

          
    else
          AfxMessageBox(
    "Failed");

    获取应用程序的路径:

        LPTSTR   lpPath   =   new   char[MAX_PATH];   
        GetCurrentDirectory(MAX_PATH,lpPath);   
        strPath   
    =   lpPath;   
        strPath   
    +=     "//";   
        strPath   
    +=   "test.ini";   

     
  • 相关阅读:
    poj 1789 每个字符串不同的字母数代表两个结点间的权值 (MST)
    poj 1251 poj 1258 hdu 1863 poj 1287 poj 2421 hdu 1233 最小生成树模板题
    poj 1631 最多能有多少条不交叉的线 最大非降子序列 (LIS)
    hdu 5256 最少修改多少个数 能使原数列严格递增 (LIS)
    hdu 1025 上面n个点与下面n个点对应连线 求最多能连有多少条不相交的线 (LIS)
    Gym 100512F Funny Game (博弈+数论)
    UVa 12714 Two Points Revisited (水题,计算几何)
    UVa 12717 Fiasco (BFS模拟)
    UVa 12718 Dromicpalin Substrings (暴力)
    UVa 12716 && UVaLive 6657 GCD XOR (数论)
  • 原文地址:https://www.cnblogs.com/rainbowzc/p/2422190.html
Copyright © 2011-2022 走看看