• 【MFC相关】MFC入门相关


    1.MFC的“匈牙利标识符命名法”,这是一个约定,可以增加代码的可读性:

    • 声明或定义了一个类,那么这个类可以以“C”(class)为前缀,如CHelloWorldDlg类;
    • 定义一个无符号型的局部变量,可以用“u”(unsigned)为前缀,如UINT uPort; ULONG uFlags;
    • 如果是int或long类型的变量,则以“n”为前缀;
    • DWORD类型的变量前缀为“dw”;
    • 字符数组以“sz”作为前缀;
    • CString类的对象以“str”作为前缀;
    • 指针以“lp”或“p”(long pointer或pointer,在WIN32环境下这两种指针并没有什么差别)作为前缀;
    • 引用以“r”为前缀;
    • 布尔型变量以“b”为前缀;
    • 句柄型的变量以“h”(handle)作为前缀。
    • 如果变量是全局的,那么以“g_”(global)开头,如BOOL g_bFlags;
    • 如果是类的成员变量则以“m_”(member)开头,如HICON m_hIcon;。

    2.对话框资源与类的绑定:

    1 enum { IDD = IDD_HELLOWORLD_DIALOG };

    3.成员函数:

    • virtual void DoDataExchange(CDataExchange* pDX);是用来支持DDX(对话框数据交换,将一个变量和一个控件进行绑定的时候用DDX)和DDV(对话框数据效验,检验该控件是否为你所需要的时候用DDV)机制的成员函数。
    • virtual BOOL OnInitDialog();是在对话被创建(Create)后立即被执行的函数,因此在这里可以添加对话框的初始化所需要的自定义代码。
    • afx_msg void OnSysCommand(UINT nID, LPARAM lParam);是对话框的处理WM_SYSCOMMAND消息的函数。WM_SYSCOMMAND消息是关于系统控制的消息,如鼠标在标题栏上的操作等。
    • afx_msg void OnPaint();是对话框处理WM_PAINT的函数,当对话框窗体发生重绘时有WM_PAINT消息到达程序。
    • afx_msg HCURSOR OnQueryDragIcon();当用户拖动最小化窗口时系统调用此函数取得光标显示。
    • afx_msg void OnBnClickedHelloworld();是处理按钮单击消息的处理函数。

    4.Edit控件:

    • GetDlgItem()函数是获取的其文本内容,获取数值:int nValue = _ttoi(strInput);的方法来转换。
    • 右键点击添加的控件,选择“添加变量”菜单项,设置其访问属性(建议用protected);在类别中选择Value(默认是Control);设置int和变量名m_nValue,点击完成按钮。完成“添加变量”向导后,在DoDataExchange()中,系统自动添加了一条语句:DDX_Text(pDX, IDC_INPUT, m_nValue);意思是将ID为IDC_INPUT的控件与m_nValue成员变量进行绑定。当程序执行UpdateData()的时候,数据便开始进行交换,数据交换方向由UpdateData的参数确定。
    • UpdateData(TRUE);就是让文本框的值更新到m_nValue里,如果是UpdateData(FALSE);就是将变量中的数据返回给文本框里。

    5.Check控件和Radio控件:

    BOOL bState;
    bState = ((CButton*)GetDlgItem(IDC_CHECK1))->GetCheck();//获取复选框状态,一定要再获得CWnd指针后,强制转换为CButton指针
    ((CButton*)GetDlgItem(IDC_RADIO1))->SetCheck(1);        //设置单选框状态为选中
  • 相关阅读:
    django的信号
    网络安全
    网络干货,无论是运维还是开发都要知道的网络知识系列之(九)
    一些职场的忠告
    自动化测试如何解决验证码的问题
    通过python切换hosts文件
    【转】web常见安全问题以及测试方法
    【转】做好软件测试需要具备的思维方式
    【转】创业泡沫的「军功章」,高薪低能的程序员要分走一半
    【转】黑盒测试中的一些小经验分享
  • 原文地址:https://www.cnblogs.com/imagezy/p/4569123.html
Copyright © 2020-2023  润新知