zoukankan      html  css  js  c++  java
  • 带属性页的对话框

    以带2个属性页的对话框为例 (VS2008)

    1. 在资源试图 添加三个 对话框。修改三个对话框的ID名字为合适的名字。

    2. 修改两个属性页对话框的属性。  Style -- Child;  Border -- None 。

    3. 给三个对话框添加三个类。  都是CDialog的子类。  右击点击资源--》 添加类 即可。

    4. 给基础对话框(我们这里表示用来包含属性页的哪个对话框)添加一个Tab Control 控件, 并且给Tab Control 添加控件变量m_tab

     5. 在对话框的头文件中添加


    CGeneralSettingPage general_setting_page_;
    CEffectSettingPage effect_setting_page_;

    5. 重写对话框的InitDialog() 函数。  添加

        // TODO:  在此添加额外的初始化
        m_tab.InsertItem(0, _T("通用设置"), 0);
        m_tab.InsertItem(1, _T("运行设置"), 0);
        general_setting_page_.Create(IDD_OLE_PAGE_GENERAL_SETTING, &m_tab);
        effect_setting_page_.Create(IDD_OLE_PAGE_EFFECT_SETTING, &m_tab);
        CRect rect;
        m_tab.GetClientRect(rect);
        rect.DeflateRect(2, 30, 2 ,2);
        general_setting_page_.MoveWindow(rect);
        effect_setting_page_.MoveWindow(rect);
        general_setting_page_.ShowWindow(SW_SHOW);

    6. 双击基础对话框里的Tab Control 控件, 生成afx_msg void OnTcnSelchangeTab1(NMHDR *pNMHDR, LRESULT *pResult); 函数

    7. 在函数里添加代码

    void CSystemSetting::OnTcnSelchangeTab1(NMHDR *pNMHDR, LRESULT *pResult)
    {
    	// TODO: 在此添加控件通知处理程序代码
    
    	if (m_tab.GetCurSel() == 0)
    	{
    		general_setting_page_.ShowWindow(SW_SHOW);
    		effect_setting_page_.ShowWindow(SW_HIDE);
    	}
    	else if (m_tab.GetCurSel() == 1)
    	{
    		general_setting_page_.ShowWindow(SW_HIDE);
    		effect_setting_page_.ShowWindow(SW_SHOW);
    	}
    
    	*pResult = 0;
    }
    

    编译 --》 运行 完成

  • 相关阅读:
    Visual Studio 2019 Xamarin 设计器显示不正常
    Chrome 关闭稍后阅读/阅读清单功能
    Chrome 浏览器历史记录的日期格式转换 sqlite3
    将博客搬至CSDN
    python selenium 库利用 pytesseract 识别验证码方案
    layui OSS Web直传
    苹果App Store审核被拒记录(持续更新中...)
    iOS RSA加密解密
    PHP、Android、iOS接口RSA加密解密
    安卓RSA加密解密(简单复制直接使用)
  • 原文地址:https://www.cnblogs.com/okgogo2000/p/3806510.html
Copyright © 2011-2022 走看看