zoukankan      html  css  js  c++  java
  • MFC---典型类和函数

    在MFC中,典型的类有CString、CRect、CDialog等,这些类的使用方法是通用的,下文以CString类的使用为例做一个详细说明。类的使用主要还是使用类的方法,可以查看类的定义,查看这个类提供了哪些方法,在使用的时候,只需要注意方法的返回值和参数即可。

    字符串操作类CString

    • CString是用来表示可变长度的字符串的类。在MFC中,这个类的使用频率非常高。
    • CString是MFC经过封装后特有的一种字符串类型,与string或iftream或oftream的字符串比较,有更多明显的优点
      • 如使用CString可不指明内存大小,CString会根据需要自行分配。
      • 除此之外还可以对字符串进行拼接操作。
    • 由于MFC已经对这个类进行了封装,在MFC程序的任何地方都可以调用它提供的操作字符串的方法。
    //CString 使用方法示例
    CString strTemp=_T("MFC Tutorial");
    
    //(1)获取字符串的长度
    //结果: iLength=12,中间的空格也算一个字符
    int iLength=strTemp.GetLength();
    
    //(2)获取字符串strTemp的第三个字符
    //结果:cFlag=‘C’
    char cFlag=strTemp.GetAt(2);
    
    //(3)数据类型转换 将char型字符转换为CString类型
    //结果:strS=_T("C");
    CString strS=_T("");
    strS.Format(_T("%c"),cFlag);
    
    //(4)字符串比较 Compare方法,如果两个一致,返回0;不一致,返回-1
    //结果:iResult0==0;iResult1==-1;iResult2=1
    int iResult0=strTemp.Compare(_T("MFC Tutorial"));
    int iResult1=strTemp.Compare(_T("MFC TutorialX"));
    int iResult2=strTemp.Compare(_T("MFC TutoRiaL"));
    
    //(5)字符串比较 CompareNoCase方法,如果两个不区分大小写一致,返回0;
    //结果:iResult3==0;iResult4==0;iResult5==-120
    int iResult3=strTemp.CompareNoCase(_T("MFC Tutorial"));
    int iResult4=strTemp.CompareNoCase(_T("MFC TutoRiaL"));
    int iResult5=strTemp.CompareNoCase(_T("MFC TutoRiaLX"));
    
    //(5)改为小写
    //结果mfc tutorial
    CString strLower=strTemp.MakeLower();
    
    //(6)改为大写
    //结果MFC TUTORIAL
    CString strUpper=strTemp.MakeUpper();
    
    //(6)获取逆序的字符串
    //结果LAIROTUT CFM
    CString strReverse=strTemp.MakeReverse();
    

    典型函数

    • 在MFC中,以Afx开头的一些函数:
    CWindApp* AfxGetApp();
    HINSTANCE AfxGetInstanceHandle( );
    HINSTANCE AfxGetResourceHandle( );
    int AfxMessageBox( LPCTSTR lpszText, UINT nType = MB_OK, UINT nIDHelp = 0 );
    
    • Afx前缀的函数代表应用程序框架(Application Framework)函数。应用程序框架,实际上是一套辅助我们生成应用程序的框架模型。该模型把多个类进行了一个有机的集成,可以根据该模型提供的方案来设计自己的应用程序。
    • 在MFC中,以Afx为前缀的函数都是全局函数,可以在程序的任何地方调用他们。
  • 相关阅读:
    1082 射击比赛 (20 分)
    1091 N-自守数 (15 分)
    1064 朋友数 (20 分)
    1031 查验身份证 (15 分)
    1028 人口普查 (20 分)
    1059 C语言竞赛 (20 分)
    1083 是否存在相等的差 (20 分)
    1077 互评成绩计算 (20 分)
    792. 高精度减法
    791. 高精度加法
  • 原文地址:https://www.cnblogs.com/KX-Lau/p/13065201.html
Copyright © 2011-2022 走看看