zoukankan      html  css  js  c++  java
  • 有几个控件的操作时有关联关系,一个对话框中有多组这样的控件群,各个组中的控件的消息响应处理非常类似,以下提供解决方案

    有几个控件的操作时有关联关系,一个对话框中有多组这样的控件群,各个组中的控件的消息响应处理非常类似,以下提供解决方案
    1、定义控件ID记录结构
    typedef  struct 
    {
     UINT nTxtFilePath;
     UINT nBrowseBtn;
     UINT nCleanBtn;
     UINT nCleanCheck;
    } DLG_ITEM_GROUP;

    2、定义控件组ID
    enum { CD_R0 = 0,
    CD_R1 = 1,
    CD_R2 = 2,
    CD_G0 = 3,
    CD_G1 = 4,
    CD_G2 = 5,
    CD_B0 = 6,
    CD_B1 = 7,
    CD_B2 = 8};
    3、记录所有控件ID记录
    m_DlgItemGroups[CD_R0].nTxtFilePath = IDC_COLOR_R0;
    m_DlgItemGroups[CD_R0].nBrowseBtn = IDC_BUTTON_R0;
    m_DlgItemGroups[CD_R0].nCleanBtn = IDC_BUTTON_CLEAN_R0;
    m_DlgItemGroups[CD_R0].nCleanCheck = IDC_CHECK_CLEAN_R0;

    ....

    m_DlgItemGroups[CD_B2].nTxtFilePath = IDC_COLOR_B2;
    m_DlgItemGroups[CD_B2].nBrowseBtn = IDC_BUTTON_B2;
    m_DlgItemGroups[CD_B2].nCleanBtn = IDC_BUTTON_CLEAN_B2;
    m_DlgItemGroups[CD_B2].nCleanCheck = IDC_CHECK_CLEAN_B2;
    4、定义消息处理函数
    int CCDOperDlg3::OnBnClickedButtonCleanMessage(int nID)
    {
     //
     GetDlgItem(m_DlgItemGroups[nID].nTxtFilePath)->SetWindowText(_T(""));

     CButton *pCheck = (CButton *)GetDlgItem(m_DlgItemGroups[nID].nCleanCheck);
     pCheck->SetCheck(TRUE);

     UpdateData(); // 使用此函数后,不知界面上窗口的状态发生变化,窗口关联的变量也将放生便哈
     return 0;
    }
    5、按钮消息处理
    void CCDOperDlg3::OnBnClickedButtonCleanR0()
    void CCDOperDlg3::OnBnClickedButtonCleanR1()
    void CCDOperDlg3::OnBnClickedButtonCleanR2()
    ...
    void CCDOperDlg3::OnBnClickedButtonCleanB1()
    void CCDOperDlg3::OnBnClickedButtonCleanB2()
    {
     // TODO: ?ú′?ìí?ó???tí¨?a′|àí3ìDò′ú??
     OnBnClickedButtonCleanMessage(CD_B2);
    }

  • 相关阅读:
    HDU 4539郑厂长系列故事――排兵布阵(状压DP)
    HDU 2196Computer(树形DP)
    HDU 4284Travel(状压DP)
    HDU 1520Anniversary party(树型DP)
    HDU 3920Clear All of Them I(状压DP)
    HDU 3853LOOPS(简单概率DP)
    UVA 11983 Weird Advertisement(线段树求矩形并的面积)
    POJ 2886Who Gets the Most Candies?(线段树)
    POJ 2828Buy Tickets
    HDU 1394Minimum Inversion Number(线段树)
  • 原文地址:https://www.cnblogs.com/carl2380/p/1964894.html
Copyright © 2011-2022 走看看