精华内容
下载资源
问答
  • 对话框_对话框属性页_属性页_属性表单_CProperytSheet_CProperytPage_VC_VC++_源码
  • 创建对话框  C++中对话框分为模式对话框和非模式对话框。  模式对话框的创建:  MyDialog m_dialog;  m_dialog.DoModal();  非模式对话框的创建和关闭:  MyDialog m_dialog;  //创建IDD_DIALOG1...
  • 本节开始为大家讲解偏向应用的知识——创建对话框。... 第一,创建对话框资源,主要包括创建新的对话框模板、设置对话框属性和为对话框添加各种控件;  第二,生成对话框类,主要包括新建对话框类、添加控件...

    本节开始为大家讲解偏向应用的知识——创建对话框。
       对话框,大家应该很熟悉了,在我们常用的软件中大多都有对话框界面,例如,360安全卫士的主界面其实就是对话框,知识它做了很多美工
    方面的工作,将其大大美化了。
       创建对话框主要分为两大步:
       第一,创建对话框资源,主要包括创建新的对话框模板、设置对话框属性和为对话框添加各种控件;
       第二,生成对话框类,主要包括新建对话框类、添加控件变量和控件的消息处理函数等。

    一、创建对话框的应用程序框架
       之前创建的HelloWorld程序是单文档应用程序,生成了多种窗口,如果用它来讲创建对话框的话可能有些复杂,对大家单纯理解对话框有点
    影响,所以这里就再创建一个基于对话框的应用程序,用来实现假发运算的功能。创建步骤同单文档程序大同小异,简单步骤如下:
       1、选择菜单项File->New->Project,弹出"New Project"对话框;
       2、左侧面板中Installed Templated的Visual C++下选择MFC,中间窗口中选择MFC Application,然后在下面的Name编辑框中键入工程名称,
    本例取名“Addition”,在Location编辑框中设置工程的保存路径。点击“OK”。
       3、点击"Next"到"Application Type"对话框,在Application Type下选择Dialog based,其他使用默认设置,点击"Finish".
       我们可以在Solution Explorer视图中看到,此工程的文件要比单文档应用程序少的多,在Class View中主要有三个类:CAboutDlg、CAdditionApp
    和CAdditionDlg。CAboutDlg是应用程序的“关于”对话框类,CAdditionApp是由CWinApp派生的类,CAdditionDlg是主对话框类,主对话框也就是应用
    程序运行后显示的主要界面。
       注:如果在VS2010中找不到Solution Explorer或Class View等视图,可以菜单项View下找到对应视图选项选择即可。
       在Resource View视图中可以看到工程Addition的资源树,展开Addition.rc,下面有四个子项:Dialog(对话框)、Icon(图标)、String Table(字
    符串表)和Version(版本)。然后展开Dialog项,下面有两个对话框模板,其ID分别为:IDD_ABOUTBOX和IDD_ADDITION_DIALOG,前者是“关于”对话框的
    模板,后者是住对话框的模板。ID是资源的唯一标识,本质上是一个无符号整数,一般ID代表的整数值由系统定义,我们无需干涉。
    二、对话框模板
       可见对于主对话框来说,创建对话框第一步中的创建新的对话框模板已经由系统自动完成了。而如果再添加对话框需要创建新的对话框模板时,需要在
    Resource View的"Dialog"节点上点击右键,在右键菜单中选择"Insert Dialog",就会生成新的对话框模板,并且会自动分配ID。
     在Resource View的资源树中双击某个ID,可在中间区域内显示相应的资源界面。双击IDD_ADDITION_DIALOG时,中间区域就会显示Addition对话框模板。
    如下图:

    三、设置对话框属性
       在Addition对话框模板上点击右键,然后右键菜单中选择Properties,则在右侧面板中会显示对话框的属性列表。如下图:


       在这里对经常使用的几个属性操作简单说明,并对Addition对话框进行属性设置说明。
       1、ID:对话框ID,唯一标识对话框资源,可以修改。此处为IDD_ADDITION_DIALOG,我们不修改它。
       2、Caption:对话框标题。此处默认为Addition,我们将其修改为“加法计算器”。
       3、Border:边框类型。有四种类型:None、Thin、Resizing和Dialog Frame。我们使用默认的Dialog Frame。
       4、Maximize:是否使用最大化按钮。我们使用默认的false。
       5、Minimize:是否使用最小化按钮。同样我们使用默认的False。
       6、Style:对话框类型。有三种类型:Overlapped(重叠窗口)、Popup(弹出式窗口)和Child(子窗口)。弹出式窗口比较常见。我们使用默认的
    Popup类型。
       7、System Menu:是否带有标题栏左上角系统菜单,包括移动、关闭等菜单项。我们使用默认的true。
       8、Title Bar:是否带有标题栏。我们使用默认的True。
       9、Font(Size):字体类型和字体大小。如果将其修改为非系统字体,则Use System自动改为False。而如果Use System原来为False,将其改为True,
    则Font(Size)自动设置为系统字体。这里我们使用默认的系统字体。
       根据以上说明,其实我们只修改了标题属性。这时我们运行此程序后的界面如下:
      

    原文: https://www.cnblogs.com/mupiaomiao/p/6183950.html

    展开全文
  • 创建对话框主要分两大步,第一,创建对话框资源,主要包括创建新的对话框模板、设置对话框属性和为对话框添加各种控件;第二,生成对话框类,主要包括新建对话框类、添加控件变量和控件的消息处理函数等。在本节中先...

    创建对话框主要分两大步,第一,创建对话框资源,主要包括创建新的对话框模板、设置对话框属性和为对话框添加各种控件;第二,生成对话框类,主要包括新建对话框类、添加控件变量和控件的消息处理函数等。在本节中先讲讲怎样创建对话框模板和设置对话框属性。本章只是创建基本的对话框,若想样式、图标更丰富一些可借助MFC扩展类库Xtreme Toolkit Pro。是MFC开发中最全面界面控件套包,它提供了Windows开发所需要的11种主流的Visual C++ MFC控件,包括Command Bars、Controls、Chart Pro、Calendar、Docking Pane、Property Grid、Report Control、Shortcut Bar、Syntax Edit、Skin Framework 和Task Panel。

    点击下载Xtreme Toolkit Pro最新试用版

    创建基于对话框的应用程序框架

    创建步骤同单文档应用程序大同小异,简单步骤如下:

    1.选择菜单项File->New->Project,弹出“New Project”对话框。

    2.左侧面板中Installed Templated的Visual C++下选择MFC,中间窗口中选择MFC Application,然后在下面的Name编辑框中键入工程名称,本例取名“Addition”,在Location编辑框中设置工程的保存路径。点“OK”。

    3.点“Next”到“Application Type”对话框,在Application type下选择Dialog based,其他使用默认设置,点“Finish”。

    我们可以在Solution Explorer视图中看到,此工程的文件要比单文档应用程序少的多,在Class View中主要有三个类:CAboutDlg、CAdditionApp和CAdditionDlg。CAboutDlg是应用程序的“关于”对话框类,CAdditionApp是由CWinApp派生的类,CAdditionDlg是主对话框类,主对话框也就是此应用程序运行后显示的主要界面。

    注:如果在VS2010中找不到Solution Explorer或Class View等视图,可以在菜单项View下找到对应视图选项选择即可。

    在Resource View视图中可以看到工程Addition的资源树,展开Addition.rc,下面有四个子项:Dialog(对话框)、Icon(图标)、String Table(字符串表)和Version(版本)。然后展开Dialog项,下面有两个对话框模板,其ID分别为:IDD_ABOUTBOX和IDD_ADDITION_DIALOG,前者是“关于”对话框的模板,后者是主对话框的模板。ID是资源的唯一标识,本质上是一个无符号整数,一般ID代表的整数值由系统定义,我们无需干涉。

    对话框模板

    可见对于主对话框来说,创建对话框第一步中的创建新的对话框模板已经由系统自动完成了。而如果是再添加对话框需要创建新的对话框模板时,需要在Resource View的“Dialog”节点上点右键,在右键菜单中选择“Insert Dialog”,就会生成新的对话框模板,并且会自动分配ID。

    在Resource View的资源树中双击某个ID,可在中间区域内显示相应的资源界面。双击IDD_ADDITION_DIALOG时,中间区域就会显示Addition对话框模板。如下图:

    VS2010/MFC编程入门之六(对话框:创建对话框模板和修改对话框属性)

    设置对话框属性

    在Addition对话框模板上点右键,然后在右键菜单中选择Properties,则在右侧面板中会显示对话框的属性列表。如下图:

    VS2010/MFC编程入门之六(对话框:创建对话框模板和修改对话框属性)

    鸡啄米在这里对经常使用的几个属性作简单说明,并对Addition对话框进行属性设置说明。

    1.ID:对话框ID,唯一标识对话框资源,可以修改。此处为IDD_ADDITION_DIALOG,我们不修改它。

    2.Caption:对话框标题。此处默认为Addition,我们将其修改为“加法计算器”。

    3.Border:边框类型。有四种类型:None、Thin、Resizing和Dialog Frame。我们使用默认的Dialog Frame。

    4.Maximize:是否使用最大化按钮。我们使用默认的False。

    5.Minimize:是否使用最小化按钮。同样我们使用默认的False。

    6.Style:对话框类型。有三种类型:Overlapped(重叠窗口)、Popup(弹出式窗口)和Child(子窗口)。弹出式窗口比较常见。我们使用默认的Popup类型。

    7.System Menu:是否带有标题栏左上角的系统菜单,包括移动、关闭等菜单项。我们使用默认的True。

    8.Title Bar:是否带有标题栏。我们使用默认的True。

    9.Font(Size):字体类型和字体大小。如果将其修改为非系统字体,则Use System自动改为False。而如果Use System原来为False,将其修改为True,则Font(Size)自动设置为系统字体。这里我们使用默认的系统字体。

    根据以上说明,其实我们只修改了标题属性。这时我们运行此程序后的界面如下:

    VS2010/MFC编程入门之六(对话框:创建对话框模板和修改对话框属性)

    这一讲就先讲到这里了,对于创建对话框第一步中的为对话框添加各种控件下一讲为大家演示。

    转载自:http://www.jizhuomi.com/software/149.html

    展开全文
  • (1)创建对话框资源,主要包括创建新的对话框模板、设置对话框属性和为对话框添加各种控件; (2)生成对话框类,主要包括新建对话框类、添加控件变量和控件的消息处理函数。 创建基于对话框的应用程序框架: (1)...

    创建对话框主要分两大步:
    (1)创建对话框资源,主要包括创建新的对话框模板、设置对话框属性和为对话框添加各种控件;
    (2)生成对话框类,主要包括新建对话框类、添加控件变量和控件的消息处理函数。
    创建基于对话框的应用程序框架:
    (1)文件->新建->项目
    在这里插入图片描述
    (2)MFC应用程序
    在这里插入图片描述
    (3)MFC应用程序向导,默认、下一步。
    在这里插入图片描述
    (4)应用程序类型,选择基本对话框,其他默认。
    在这里插入图片描述
    (5)一直选择默认,下一步。
    在这里插入图片描述
    类视图中:
    CAboutDlg:应用程序“关于”对话类
    CPraMFC2APP:由CWinAPP派生的类
    CPraMFC2Dlg:主对话框类

    资源视图
    工程PraMFC2有4个子项:对话框、图表、字符串表、版本。展开对话框,其有两个对话框模板:对话框的模板IDD_ABOUTBOX和主对话框的模板IDD_ADDITION_DIALOG。ID由系统定义,为一个无符号整数。
    对画框模板
    (1)-(4)步骤已经创建了主对话框模板,如果再需要创建新的对话框模板,在“Dialog”选项右击“插入Dialog”即可。
    对画框属性
    对话框模板上点右击,然后在右键菜单中选择属性,则在右侧面板中会显示对话框的属性列。在这里我们只更改了其标题属性。
    在这里插入图片描述

    展开全文
  • 对话框属性页(MFC)

    2014-04-17 08:51:44
    目录 属性页编写总体思路 CPropertySheet 编程 Tab Control 控件 ...设置对话框属性页属性: 在编写时要注意把对话框资源以下属性设置为对应值 属性名 值  System Menu False Style Child Titl

    目录

    属性页编写总体思路
    CPropertySheet 编程
    Tab Control 控件

    (本章节中例子都是用 VS2005 编译调试的)


    属性页编写总体思路

    大体思想:

    设置对话框属性页属性:

    在编写时要注意把对话框资源以下属性设置为对应值

    属性名       值  
    System Menu    False
    Style         Child
    Title Bar        False
    Border        None

    代码样例(这里我一几个按钮控件来演示):

    添加两个对话框资源并为对话框资源定义相关属性,资源 ID 为IDD_PAGE1,IDD_PAGE2,资源视图如下所示:

    为主对话框添加相关成员变量(属性页关联对象,CDialog 数组指针,当前显示标签页的索引)代码如下:

    View Code
    //记录当前显示页面的索引
    int m_CurSelTab; 
    
    //属性页对话框对象
    CPage1 m_p1; 
    CPage2 m_p2; 
    
    //对话框数组
    CDialog* pDialog[2];

    在主对话框的 OnInitDialog 函数中初始化属性页相关操作,添加的具体代码如下: 

    View Code
    //创建两个对话框,并将 CTabCtrl 对象作为其父窗口
    m_p1.Create(IDD_PAGE1, this);
    m_p2.Create(IDD_PAGE2, this);
    
    //把对话框对象与 CDialog 数组联系起来
    pDialog[0] = &m_p1;
    pDialog[1] = &m_p2;
    
    //获得 Tab Control 客户区矩形大小
    CRect rc;
    GetClientRect(rc);
    
    //调整矩形大小让属性页显示在适当的位置上
    rc.top += 2;
    rc.bottom -= 2;
    rc.left += 2;
    rc.right -= 200;
    
    //移动对话框窗口到矩形区域中
    m_p1.MoveWindow(&rc);
    m_p2.MoveWindow(&rc);
    
    //显示初始页面,保存当前选择
    pDialog[0]->ShowWindow(SW_SHOW);
    pDialog[1]->ShowWindow(SW_HIDE);
    m_CurSelTab = 0;

    然后为对话框添加两个按钮并通过这个两个按钮的事件响应函数来实现属性页的切换,具体代码如下:

    View Code
    /* 按钮一实现把属性页切换到第一个页面  *******************/
    void CtestDlg::OnBnClickedButton1()
    {
        // TODO: 在此添加控件通知处理程序代码
    
        //把当前的页面隐藏起来
        pDialog[m_CurSelTab]->ShowWindow(SW_HIDE);
    
        //设置新的页面索引
        m_CurSelTab = 0;
    
        //把新的页面显示出来
        pDialog[m_CurSelTab]->ShowWindow(SW_SHOW);
    }
    
    
    
    /*  按钮二实现把属性页切换到第二个页面 *******************/
    void CtestDlg::OnBnClickedButton2()
    {
        // TODO: 在此添加控件通知处理程序代码
    
        //把当前的页面隐藏起来
        pDialog[m_CurSelTab]->ShowWindow(SW_HIDE);
    
        //设置新的页面索引
        m_CurSelTab = 1;
    
        //把新的页面显示出来
        pDialog[m_CurSelTab]->ShowWindow(SW_SHOW);
    }

    运行结果:

     

    CPropertySheet 编程

    对话框属性页资源

    普通对话框资源和属性页资源对话框的区别:

    选项         普通对话框     属性页对话框
    Style          Popup       Child
    Border         Dialog     Thin
    System menu     选中      未选中

    可以把普通对话框按照上面修改便可以称为属性页对话框

     创建对话框属性页资源

    编写CPropertySheet流程图:

    代码样例:

    属性页模式

    创建两个属性页资源 ID 为 IDD_PAGE1 与 IDD_PAGE2,并关联两个 CPropertyPage 派生类,类分别为 CPage1,CPage2.资源视图如下:

    CPage1 与 CPage2 源码:

    View Code
    // 因为大致是一样的所以这里以 CPage1 文件为例子,不一样的地方我也列了出来
    /* CPage1 CPage2 对话框头文件 ***************************/
    
    class CPage1 : public CPropertyPage
    //class CPage2 : public CPropertyPage
    {
        DECLARE_DYNAMIC(CPage1)
        //DECLARE_DYNAMIC(CPage2)
    
    public:
        CPage1();
        //CPage2();
        virtual ~CPage1();
        //virtual ~CPage2();
    
    // 对话框数据
        enum { IDD = IDD_PAGE1 };
        //enum { IDD = IDD_PAGE2 };
    
    protected:
        virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV 支持
    
        DECLARE_MESSAGE_MAP()
    };
    
    
    
    
    /* CPage1 CPage2 对话框实现文件 *************************/
    IMPLEMENT_DYNAMIC(CPage1, CPropertyPage)
    //IMPLEMENT_DYNAMIC(CPage2, CPropertyPage)
    
    CPage1::CPage1()
        : CPropertyPage(CPage1::IDD)
    //CPage2::CPage2()
    //    : CPropertyPage(CPage2::IDD)
    {
    
    }
    
    CPage1::~CPage1()
    //CPage2::~CPage2()
    {
    }
    
    void CPage1::DoDataExchange(CDataExchange* pDX)
    //void CPage2::DoDataExchange(CDataExchange* pDX)
    {
        CPropertyPage::DoDataExchange(pDX);
    }
    
    
    BEGIN_MESSAGE_MAP(CPage1, CPropertyPage)
    //BEGIN_MESSAGE_MAP(CPage2, CPropertyPage)
    END_MESSAGE_MAP()

    在工程中添加一个派生于 CPropertySheet 类,这里我不它命名为 CMyProSh,然后在 CMyProSh 中添加 CPage1,CPage2 对象作为其成员变量,并在构造函数中用 AddPage 函数把 CPage1,CPage2 对象添加到属性表单中去.CMyProSh 程序源码如下:

    //MyProSh.h
    #pragma once
    #include "Page1.h"
    #include "Page2.h"
    
    class CMyProSh : public CPropertySheet
    {
        CPage1 m_p1;
        CPage2 m_p2;
    ...
    }
    
    
    //MyProSh.cpp
    CMyProSh::CMyProSh(UINT nIDCaption, CWnd* pParentWnd, UINT iSelectPage)
        :CPropertySheet(nIDCaption, pParentWnd, iSelectPage)
    {
        this->AddPage(&m_p1);
        this->AddPage(&m_p2);
    }
    
    CMyProSh::CMyProSh(LPCTSTR pszCaption, CWnd* pParentWnd, UINT iSelectPage)
        :CPropertySheet(pszCaption, pParentWnd, iSelectPage)
    {
        this->AddPage(&m_p1);
        this->AddPage(&m_p2);
    }
    View Code

    在主对话框中添加一个按钮然后为按钮添加事件响应函数,在函数中添加如下代码:

    //创建表单类对象
    CMyProSh pro(L"表单样例");
    //显示模态表单对话框
    pro.DoModal();

    运行结果:

    向导模式:

    相关函数:

    • CPropertySheet::SetWizardButtons
    • CPropertySheet::SetWizardMode
    • CPropertyPage::OnWizardBack
    • CPropertyPage::OnWizardFinish
    • CPropertyPage::OnWizardNext

    代码样例:

    在创建模态对话框前的步骤与属性页模式一致.但在调用 DoModal 函数创建模态对话框前需要先调用 SetWizardMode 成员函数.代码如下:

    View Code
    //创建表单类对象
    CMyProSh pro(L"表单样例");
    
    //设置向导模式
    pro.SetWizardMode();
    
    //显示模态表单对话框
    pro.DoModal();

    运行结果:

     


     

    Tab Control 控件

    说明:

    Tab Control 的运行效果有点像 Property Sheet,但两者还是有一些区别.我的理解就是Property Sheet主要用在对话框中,对数据进行进行分类管理.而 Tab Control 使用范围更广一些,既可以用在对话框,也可以用在视图中,除了可以管理配置数据外,还可以对软件的组织进行规划,比如可以通过它来切换不同的视图等等,当然这不是没有代价的,Tab Control 的编程就比 Property Sheet 的复杂很多.但是不是每个 Tab Control 的标签页对应一个页面

    对于客户区其实只有一个,工作原理其实就是有许多的子对话框在客户区上但是只有一个显示而其他的都没有显示通过按标签页后相应事件让现在显示的子对话框隐藏而对应于标签页索引的某个子对话框显示

    还需注意把对话框资源的相关属性的设置

    相关函数:

    CTabCtrl 类成员函数

    显示相关函数

    [插入项][获得标签页总数目][删除对应标签页][删除所有标签页][获得标签页矩形空间][获得当前标签页索引][设置某标签页为显示标签页]

    插入项

    函数原型:

    LONG InsertItem( int nItem, LPCTSTR lpszItem );

    参数说明:

    • nItem:    为插入位置
    • lpszItem:    为标签页标题内容

    作用:  插入一个新的标签页在tab control控件里面的nItem位置处,若nItem位置大于控件中标签页的总数则表明在最后的位置添加一个新的标签页

    获得标签页总数目

    函数原型:

    int GetItemCount( ) const

    返回值:  返回控件中标签页的总数

    删除对应标签页

    函数原型:

    BOOL DeleteItem( int nItem);

    参数说明:  nItem  要删除的标签页的位置

    作用:  删除一个在nItem位置处以存在的标签页,若nItem位置大于控件中标签页的总数,它将不执行任何操作

    删除所有标签页

    函数原型:

    BOOL DeleteAllItems( );

    作用:  删除控件中所有的标签页

    获得标签页矩形空间

    函数原型:

    BOOL GetItemRect( int nItem, LPRECT lpRect ) const;

    参数说明:

    • nItem:   要获取矩形空间的标签位置
    • lpRect:  用于接收标签的矩形空间

    作用:  用 lpRect 来接收位置为 nItem 的标签页面上索引页面的小矩形,而不是控件的客户区

    获得当前标签页索引

    函数原型:

    int GetCurSel( ) const;

    返回值:  返回标签页的索引

    设置某标签页为显示标签页

    函数原型:

    int SetCurSel( int nItem );

    参数说明:  nItem  要设置为当前标签页的索引位置

    作用:  用在nItem位置的标签页来作为当前显示的标签页

    CWnd 类成员函数

    显示相关函数

    [获得客户矩形区][移动窗口至某区间][显示窗口]

    获得客户矩形区

    函数原型:

    void GetClientRect(LPRECT lpRect ) const;

    参数说明:  lpRect  用于记录客户区矩形空间

    说明:  获得窗体的客服区的矩形记入在 lpRect 中

    移动窗口至某区间

    函数原型:

    void MoveWindow(int x,int y,int nWidth,int nHeight,BOOL bRepaint = TRUE );
    void MoveWindow(LPCRECT lpRect,BOOL bRepaint = TRUE );

    参数说明:

    • x:  移动到的区间的左上角横坐标
    • y:  移动到的区间的左上角纵坐标
    • nWidth:  移动到的区间的宽度 
    • nHeight:  移动到的区间的高度
    • bRepaint:  是否发生窗口重绘
    • lpRect:  移动到的矩形区间

    说明:  改变窗体类的位置和大小

    显示窗口

    BOOL ShowWindow( int nCmdShow ); 

    参数取值:

    • SW_HIDE
    • SW_MINIMIZE
    • SW_RESTORE
    • SW_SHOW
    • SW_SHOWMAXIMIZED
    • SW_SHOWMINIMIZED
    • SW_SHOWMINNOACTIVE
    • SW_SHOWNA
    • SW_SHOWNOACTIVATE
    • SW_SHOWNORMAL

    说明:   按nCmdShow方式显示窗体

    编写流程图:

    代码样例:

    在对话框上建立一个 Tab Control 控件,然后为控件添加关联的控制变量,并为变量命名为 m_tab.资源对话如下图所示:

    添加两个对话框资源并为对话框资源定义相关属性,资源 ID 为IDD_PAGE1,IDD_PAGE2,资源视图如下所示:

    为主对话框添加相关成员变量(属性页关联对象,CDialog 数组指针,当前显示标签页的索引)代码如下:

    View Code
    //Tab Control 控件关联变量
    CTabCtrl m_tab;
    
    //记录当前显示页面的索引
    int m_CurSelTab; 
    
    //属性页对话框对象
    CPage1 m_p1; 
    CPage2 m_p2; 
    
    //对话框数组
    CDialog* pDialog[2];

    在主对话框的 OnInitDialog 函数中初始化 Tab Control 控件,即在 OnInitDialog 函数中添加一下代码:

    View Code
    //创建两个对话框,并将 CTabCtrl 对象作为其父窗口
    m_p1.Create(IDD_PAGE1, &m_tab);
    m_p2.Create(IDD_PAGE2, &m_tab);
    
    //把对话框对象与 CDialog 数组联系起来
    pDialog[0] = &m_p1;
    pDialog[1] = &m_p2;
    
    //为 Tab Control 增加两个页面
    m_tab.InsertItem(0, _T("One"));
    m_tab.InsertItem(1, _T("Two"));
    
    //获得 Tab Control 客户区矩形大小
    CRect rc;
    m_tab.GetClientRect(rc);
    
    //调整矩形大小让属性页显示在适当的位置上
    rc.top += 23;
    rc.bottom -= 2;
    rc.left += 2;
    rc.right -= 3;
    
    //移动对话框窗口到矩形区域中
    m_p1.MoveWindow(&rc);
    m_p2.MoveWindow(&rc);
    
    //显示初始页面,保存当前选择
    pDialog[0]->ShowWindow(SW_SHOW);
    pDialog[1]->ShowWindow(SW_HIDE);
    m_CurSelTab = 0;

    为 Tab Control 控件添加响应标签页选择改变事件( 即 TCN_SELCHANGE 事件),然后在事件响应函数中添加切换属性页操作,相关代码如下:

    View Code
    //把当前的页面隐藏起来
    pDialog[m_CurSelTab]->ShowWindow(SW_HIDE);
    
    //得到新的页面索引
    m_CurSelTab = m_tab.GetCurSel();
    
    //把新的页面显示出来
    pDialog[m_CurSelTab]->ShowWindow(SW_SHOW);

    运行结果:

     

    原文地址:http://www.cnblogs.com/kzloser/archive/2012/11/22/2782459.html


    展开全文
  • 对话框属性页(VC_MFC)

    2017-12-01 14:09:21
    设置对话框属性页属性: 在编写时要注意把对话框资源以下属性设置为对应值 属性名 值  System Menu False Style Child Title Bar False Border None 代码样例(这里我一几个按钮控件来演示): 添加两个...
  • MFC/VS2013对话框属性(三)

    千次阅读 2017-07-17 22:29:34
    设置对话框属性 1.ID:对话框ID,唯一标识对话框资源,可以修改。2.Caption:对话框标题。我们将其修改为“计算器”。3.Border:边框类型。有四种类型:None、Thin、Resizing和Dialog Frame。我们使用默认的...
  • 创建基于对话框的应用程序框架  对话框,大家应该很... 第一,创建对话框资源,主要包括创建新的对话框模板、设置对话框属性和为对话框添加各种控件;   第二,生成对话框类,主要包括新建对话框类、添加控件变量
  • MFC中新建一个对话框,设置对话框属性时可选择的ID有很多,选择的依据是什么
  • 对话框不显示右上角X号的方法--对话框属性的style改为Overlapped
  • 对话框,大家应该很熟悉了,在我们常用的软件中大多都有对话框界面,例如... 创建对话框主要分两大步,第一,创建对话框资源,主要包括创建新的对话框模板、设置对话框属性和为对话框添加各种控件;第二,生成对话
  • MFC更改对话框属性

    2018-05-10 10:03:00
    1、对话框不能调整大小 在属性中找到Border选项,然后选择Dialog Frame 2、对话框可以调整大小 在属性中找到Border选项,然后选择ResiZing 3、对话框窗口显示最大化和最小化按钮 最大化:Maximize选择True ...
  • SWT对话框属性详解

    千次阅读 2012-02-28 19:44:02
    对话框,都继承自org.eclipse.swt.widgets.Dialog,有Modal的和Modeless的区分,一般的对话框处理程序如下: dlg = new (shell); dlg.setSomeData(data); returnValue = dlg.open(); if (returnValue == null)...
  • 在上一讲中介绍了MFC的消息... 对话框,大家应该很熟悉了,在我们常用的软件中大多都有对话框界面,例如,qq的主界面其实就是个对话框,只是它做了很多美工方面的工作,将其大大美化了。  创建对话框主要分两大步
  • // 动态修改对话框属性,去掉对话框标题栏,设置Border为NONE属性。if(dlg.GetSafeHwnd()) { dlg.ModifyStyle(WS_CAPTION, 0); // 去掉标题栏 dlg.ModifyStyleEx(WS_EX_DLGMODALFRAME, 0); // 去掉边框 dlg....
  • android之改变对话框属性

    千次阅读 2012-12-25 11:08:05
    1.改变对话框大小 LayoutParams lp = dialog.getWindow().getAttributes();   lp.width = XXX;  lp.height = xxx;想咋改就咋改 2.取消对话框标题 首先在 values/Style.xml文件中加入以下代码(如果...
  • 鸡啄米在上一讲中介绍了MFC的... 对话框,大家应该很熟悉了,在我们常用的软件中大多都有对话框界面,例如,360安全卫士的主界面其实就是个对话框,只是它做了很多美工方面的工作,将其大大美化了。  创建对话框
  • 鸡啄米在上一讲中介绍了MFC的消息映射机制,属于... 对话框,大家应该很熟悉了,在我们常用的软件中大多都有对话框界面,例如,360安全卫士的主界面其实就是个对话框,只是它做了很多美工方面的工作,将其大大美化了。
  • MFC的对话框CDialog是怎么控制窗口可调整大小的属性的呢?打开资源文件,对话框资源的属性列表中,有一个“Border”项,改变该项的值就可以改变窗口边框风格。实际上windows窗口是否可调整大小,就是根据边框的风格...
  • 鸡啄米在上一讲中介绍了MFC的... 对话框,大家应该很熟悉了,在我们常用的软件中大多都有对话框界面,例如,360安全卫士的主界面其实就是个对话框,只是它做了很多美工方面的工作,将其大大美化了。  创建对话框
  • 最近做的项目中用到了FormView切换视图,其主要原理是:先新建一些Dialog对话框,然后给这些对话框绑定对应的View,注意:这些View要基于FormView。  一开始还好好的,利用切换视的代码进行的很顺利(网上的相关...
  • 这是在做EVC的作业时碰到的问题,查到的文章,存个档~~~最近做的项目中用到了FormView切换视图,其主要原理是:先新建一些Dialog对话框,然后给这些对话框绑定对应的View,注意:这些View要基于FormView。 一开始还...
  • vs2010,c++语言,MFC框架,非模态对话框,消息对话框,一般属性对话框实现加法器功能,并提供使用说明
  • 属性对话框 属性对话框 属性对话框 属性对话框
  • 除了Nish的答案以外,这里[^]是使用ShellExecute显示文件属性对话框的C#示例。 :)
  • MFC界面上显示对话框(对话框属性为child),现在想添加响应函数,如何实现单击对话框,弹出新对话框。 求技术大牛指点!

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 310,814
精华内容 124,325
关键字:

对话框属性