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;
    }
    

    编译 --》 运行 完成

  • 相关阅读:
    Unity5 GI与PBS渲染从用法到着色代码
    Unity场景渲染相关实现的猜想
    Ogre2.1 Hlms与渲染流程
    Ogre2.1 灯光与阴影
    Ogre2.1 结合OpenGL3+高效渲染
    Ogre2.0 全新功能打造新3D引擎
    Ogre 编辑器三(自动生成与更新Ogre对象编辑界面)
    Ogre 编辑器二(用Ogre的地形组件加载天龙八部地形)
    一个简单的旋转控制器与固定屏幕位置
    sql 触发器里,发生错误,回滚提示错误语句
  • 原文地址:https://www.cnblogs.com/okgogo2000/p/3806510.html
Copyright © 2011-2022 走看看