精华内容
下载资源
问答
  • 实现收缩对话框应用程序 实现收缩对话框应用程序 实现收缩对话框应用程序
  • MFC扩展对话框(即收缩对话框)

    千次阅读 2014-06-30 18:33:44
    MFC扩展对话框(即收缩对话框) 效果图如下,扩展前(上)、扩展后(下)、上下扩展: MFC收缩对话框 MFC收缩对话框 具体步骤如下: 1.在.h文件中添加如下代码: 1 ...

    MFC扩展对话框(即收缩对话框)

    效果图如下,扩展前(上)、扩展后(下)、上下扩展:

    MFC收缩对话框

    MFC收缩对话框

    MFC收缩对话框

    MFC收缩对话框

    具体步骤如下:

    1.在.h文件中添加如下代码:

    1 private:
    2 bool m_shrink; //标记是否收缩
    3 int m_winHeight; //存储对话框的高度
    4 int m_shrinkHeight; //收缩后的对话框高度

    2.在.cpp中添加如下代码:

    01 //构造函数,添加如下:
    02  
    03 m_shrink = TRUE; //初始化对话框为收缩的
    04 m_winHeight = 0;
    05 m_shrinkHeight = 0;
    06  
    07 //初始化函数OninitDialog()函数中,添加如下:
    08  
    09 CRect winRect; //对话框矩形
    10 GetWindowRect(winRect); //获得对话框矩形
    11 m_winHeight = winRect.Height(); //对话框原始高度
    12 CRect btRect; //按钮矩形
    13 GetDlgItem(IDC_BUTTON1)->GetWindowRect(btRect);
    14 m_shrinkHeight = btRect.bottom+20;
    15 winRect.SetRect(winRect.left,winRect.top,winRect.right,m_shrinkHeight);
    16 MoveWindow(winRect,TRUE); //移动对话框 使变换生效*/
    17  
    18 //设置按钮,添加映射函数,代码如下:
    19  
    20 CRect btRect; //按钮矩形
    21 GetDlgItem(IDC_BUTTON1)->GetWindowRect(btRect);
    22 CRect winRect;
    23 GetWindowRect(&winRect);
    24 if (m_shrink)
    25 {
    26 winRect.SetRect(winRect.left,winRect.top,winRect.right,winRect.top + m_winHeight);
    27 GetDlgItem(IDC_BUTTON1)->SetWindowText(_T("关闭"));
    28 }
    29 else
    30 {
    31 winRect.SetRect(winRect.left,winRect.top,winRect.right,winRect.top + m_shrinkHeight);
    32 GetDlgItem(IDC_BUTTON1)->SetWindowText(_T("设置"));
    33 }
    34 MoveWindow(winRect,TRUE);
    35 m_shrink = !m_shrink;

     

     

    原创文章,转载请注明: 转载自C/C++程序员之家

    本文链接地址: MFC扩展对话框(收缩对话框) http://www.cplusplus.me/1230.html

    展开全文
  • 摘要:VC/C++源码,界面编程,对话框 VC++.NET如何扩展收缩对话框应用程序界面,鼠标点击一下按钮,会增加一个窗口界面,类似于窗口折叠展开的功能,很实用,应用广泛。
  • Visual C++制作可拖曳四边框的对话框
  • MFC 如何收缩对话框

    2013-03-25 22:06:09
    在网上看到很多关于收缩对话框的例子,但大多数是先收缩后扩展的。这里写一下先扩展后收缩的例子。 在对话框上用picture控件画一个矩形(ID为IDC_SEPARATOR),这个矩形的上放部分就是待显示的对话框,当然下部分...

    在网上看到很多关于收缩对话框的例子,但大多数是先收缩后扩展的。这里写一下先扩展后收缩的例子。

    在对话框上用picture控件画一个矩形(ID为IDC_SEPARATOR),这个矩形的上放部分就是待显示的对话框,当然下部分就是要收缩的了,然后添加一个Button(ID为IDC_ISEXTEND),标题为<<open<<。

    在头文件中添加:

    	BOOL m_bExpand;
    并在构造函数中将m_bExpand初始化为FALSE,默认的对话框是没有展开的。

    然后在OnInitDialog()中添加:

    	CRect rectNormal;
    	CRect rectExpand;
    
    	GetWindowRect(&rectExpand);
    	m_nExpandedHeight=rectExpand.Height();
    
    	GetDlgItem(IDC_SEPARATOR)->GetWindowRect(&rectNormal);
    	m_nNormalHeight=rectNormal.top-rectExpand.top;
    	
    	rectExpand.SetRect(rectExpand.left,rectExpand.top,rectExpand.right, rectExpand.top + m_nNormalHeight);
    	MoveWindow(&rectExpand,TRUE);

    然后在响应“open”按钮的BN_CLICKED消息函数中添加:

    void CCalculatorDlg::OnIsExtend() 
    {
    	// TODO: Add your control notification handler code here
    
    	CRect rect;
    	GetWindowRect(&rect);   //缩小后的矩形
    	if(!m_bExpand)
    	{
    		rect.SetRect(rect.left,rect.top,rect.right, rect.top + m_nExpandedHeight); //扩展
    		SetDlgItemText(IDC_ISEXTEND,"<<close <<");
    		m_bExpand=TRUE;
    	}
    	else
    	{
    		rect.SetRect(rect.left,rect.top,rect.right, rect.top + m_nNormalHeight);
    		SetDlgItemText(IDC_ISEXTEND,">>open >>");
    		m_bExpand=FALSE;
    	}
    	MoveWindow(&rect,TRUE);
    }


    展开全文
  • 这是一个基于VC开发的扩大缩小对话框,仅供初学者使用
  • 1.在.h文件中添加如下代码: private: bool m_shrink;... //收缩后的对话框高度 2.在.cpp中添加如下代码: private: bool m_shrink; //标记是否收缩 int m_winHeight; //存储对话框的高度 int m

    1.在.h文件中添加如下代码:

    private:
    bool m_shrink; //标记是否收缩
    int m_winHeight; //存储对话框的高度
    int m_shrinkHeight; //收缩后的对话框高度

    2.在.cpp中添加如下代码:

    private:
    bool m_shrink; //标记是否收缩
    int m_winHeight; //存储对话框的高度
    int m_shrinkHeight; //收缩后的对话框高度

    //初始化函数OninitDialog()函数中,添加如下:

    CRect winRect; //对话框矩形
    GetWindowRect(winRect); //获得对话框矩形
    m_winHeight = winRect.Height(); //对话框原始高度
    CRect btRect; //按钮矩形
    GetDlgItem(IDC_BUTTON1)->GetWindowRect(btRect);
    m_shrinkHeight = btRect.bottom+20;
    winRect.SetRect(winRect.left,winRect.top,winRect.right,m_shrinkHeight);
    MoveWindow(winRect,TRUE); //移动对话框 使变换生效*/

    //设置按钮,添加映射函数,代码如下:

    CRect btRect; //按钮矩形
    GetDlgItem(IDC_BUTTON1)->GetWindowRect(btRect);
    CRect winRect;
    GetWindowRect(&winRect);
    if (m_shrink)
    {
    winRect.SetRect(winRect.left,winRect.top,winRect.right,winRect.top + m_winHeight);
    GetDlgItem(IDC_BUTTON1)->SetWindowText(_T("关闭"));
    }
    else
    {
    winRect.SetRect(winRect.left,winRect.top,winRect.right,winRect.top + m_shrinkHeight);
    GetDlgItem(IDC_BUTTON1)->SetWindowText(_T("设置"));
    }
    MoveWindow(winRect,TRUE);
    m_shrink = !m_shrink;
    展开全文
  • 扩展和收缩对话框

    2020-08-10 01:14:30
    一旦对话框被展开,“更多”按钮就会显示“更少”,一旦用户点击“更少”按钮,对话框就会缩小到初始大小。 CExpandDialog类为您执行此操作。您所要做的就是将DialogExpander.cpp文件添加到您的项目中,并对对话框类...

    下载demo project - 12.4 Kb
    下载source files - 1.5 Kb

    折叠状态对话框

    对话框处于展开状态
    有时候,在一个对话框中只显示重要的部分,并使用一个通常标记为“更多”的按钮,当用户点击它时展开对话框可能会很有用。一旦对话框被展开,“更多”按钮就会显示“更少”,一旦用户点击“更少”按钮,对话框就会缩小到初始大小。
    CExpandDialog类为您执行此操作。您所要做的就是将DialogExpander.cpp文件添加到您的项目中,并对对话框类和模板进行一些小的更改。
    修改你的对话框类的头文件,像这样:复制Code/
    // CExpandDialogDlg dialog

    #include “DialogExpander.h” //<<<< add here


    class CExpandDialogDlg : public CDialog
    {

    protected:

    CExpandDialog m_ExpandDialog ; //<<<< add here

    }
    修改OnInitDialog函数对话框类如下:复制CodeBOOL CExpandDialogDlg::OnInitDialog()
    {
    CDialog::OnInitDialog();

    m_ExpandDialog.Initialize(this, FALSE, IDC_MOREBUTTON, 
                    IDC_SHRINKMARK, IDC_EXPANDEDMARK,
                    IDC_LESSTEXT) ; //<<<< add here
    
    ...
    

    }
    在类向导中,为“更多”按钮添加一个处理程序(例如OnMore()),并像这样修改它:复制Codevoid CExpandDialogDlg::OnMore()
    {
    m_ExpandDialog.OnExpandButton() ;
    }
    对话框模板必须包含两个特殊的静态控件。当对话框处于折叠状态时,显示对话框底部的位置(下面的图例为1),当对话框处于扩展状态时,显示在“多/少”按钮上的字符串(下面的图例为2)。这两个控件将不会显示,因为CExpandDialog类将自动隐藏它们。

    本文转载于:http://www.diyabc.com/frontweb/news6612.html
    折叠状态对话框

    对话框处于展开状态
    有时候,在一个对话框中只显示重要的部分,并使用一个通常标记为“更多”的按钮,当用户点击它时展开对话框可能会很有用。一旦对话框被展开,“更多”按钮就会显示“更少”,一旦用户点击“更少”按钮,对话框就会缩小到初始大小。
    CExpandDialog类为您执行此操作。您所要做的就是将DialogExpander.cpp文件添加到您的项目中,并对对话框类和模板进行一些小的更改。
    修改你的对话框类的头文件,像这样:复制Code/
    // CExpandDialogDlg dialog

    #include “DialogExpander.h” //<<<< add here


    class CExpandDialogDlg : public CDialog
    {

    protected:

    CExpandDialog m_ExpandDialog ; //<<<< add here

    }
    修改OnInitDialog函数对话框类如下:复制CodeBOOL CExpandDialogDlg::OnInitDialog()
    {
    CDialog::OnInitDialog();

    m_ExpandDialog.Initialize(this, FALSE, IDC_MOREBUTTON, 
                    IDC_SHRINKMARK, IDC_EXPANDEDMARK,
                    IDC_LESSTEXT) ; //<<<< add here
    
    ...
    

    }
    在类向导中,为“更多”按钮添加一个处理程序(例如OnMore()),并像这样修改它:复制Codevoid CExpandDialogDlg::OnMore()
    {
    m_ExpandDialog.OnExpandButton() ;
    }
    对话框模板必须包含两个特殊的静态控件。当对话框处于折叠状态时,显示对话框底部的位置(下面的图例为1),当对话框处于扩展状态时,显示在“多/少”按钮上的字符串(下面的图例为2)。这两个控件将不会显示,因为CExpandDialog类将自动隐藏它们。

    本文转载于:http://www.diyabc.com/frontweb/news6608.html

    展开全文
  • 1. 当点击Unexpand的时候 图像控件 以下部分展开,再次点击 图像控件以下部分收缩;Dialog图: 2.实现功能的代码 ,请参看注释: void CtestDlg::OnBnClickedButton2() { // TODO: 在此添加控件通知处理程序...
  • 通过放大和缩小对话框时,相应的刻度位置会改变。 出于好奇,写完之后,我把OnSize里所有的代码复制到了OnPaint里,并注释掉了OnSize里的代码。 结果,拉长对话框时刻度的位置仍能正常改变,但缩小时就不能了(如...
  • if(GetDlgItemText(IDC_BUTTON2,str),str=="收缩) { str=(_T("扩展>>")); SetDlgItemText(IDC_BUTTON2,str); } else { str=(_T("收缩)); SetDlgItemText(IDC_BUTTON2,str); } static CR
  • 搜了很多资料都是关于让对话框变大时,控件随之改变的,但是没有对话框缩小时控件随之缩小的。请问如果我要缩小对话框,并想让控件随之缩小,怎么做?
  • 收缩扩展对话框.zip

    2020-09-08 09:27:23
    点击按钮 实现dialog的扩大和缩小,实现MFC中enter键从上一个文本框跳转到下一个文本框。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。...
  • 对话框的放大缩小

    2012-10-25 20:25:02
    实现对话框的放大缩小,同时,不改变各个控件在对话框中的比例,在改变对话框大小的时候不出现闪屏现象
  • 对话框收缩扩展程序

    2012-12-08 01:29:45
    教你实现对话框收缩扩展的小程序,以及获取输入的字符
  • 对话框

    2014-01-09 16:08:00
    在MFC中,我们对资源的操作是...不切模:如果我们不对模态对话框操作,程序将不往下执行。 CDialog::DoDataExchange()函数 一、模态对话框:其的创建:CDialog::DoModal()  其的关闭:CDialog::EndDialog()   
  • 问题:使用KindEditor上传图片,当浏览器缩小或者放大的时候,上传对话框会不见了。 原因是当浏览器放大缩小时,窗口的 innerHeight 和 innerWidth 成倍变化。 但是动态加载的对话框的位置的top和left值还是缩放...
  • 对话框编程

    2013-02-26 10:23:02
    如何实现对话框的部分收缩和展开。如何让对话框上的文本框在程序启动后立即获得焦点,如何利用SetWindowLong改变窗口的回调函数,通过改变文本框的默认回车处理方式进行演示。实现多个输入文本框间通过回车逐一向下...
  • MFC 对话框伸缩 初始收缩

    千次阅读 2016-03-03 22:51:37
    就像他演示的那个画图工具一样,这里我想要的是对话框初始显示的时候就是收缩后的样子。  这种效果可以这样来实现: 1.由于对话框在显示之前会调用OnInitDialog()这个函数,我们就在这个函数中获得初始化时对话框...
  • 我用VC6的基于对话框的.exe来来实现对话框收缩和扩展(其实就是改变一下对话框的大小)。在CMyDlg类中增加两个CRect类的成员变量rectlarge和rectsmall,分别保存收缩后河扩展后的窗口的大小,在BOOL CMyDlg::...
  • 摘要:VC/C++源码,界面编程,对话框 VC++实现一个可以收缩、扩展的对话框,并可以自定义参数,一个挺实用的VC++窗体编程小技巧,有必要学习借鉴。源代码完整开源,在VC++6.0环境下可顺利编译。
  • 其次,在对话框上添加一个按钮,将其text设置为“收缩&lt;&lt;”,ID设置为IDC_BTN_CHANGE,添加变量m_btnChange。 然后添加对应按钮的事件处理程序,在对应函数中添加以下代码。 void CCutDiglogContr.....
  • 在窗口添加个按钮,修改其名称为“收缩”,当点击“收缩”按钮时,将对话框切除一部分,并将按钮文字改为“扩展”;当再次点击“扩展”时,还原对话框 过程: 1、在窗口添加个按钮,修改其名称为“收缩”, 2、为...
  • 用vc++实现非模式对话框的创建与销毁,并实现对话框收缩与扩展的功能
  • 可调整大小的VC++对话框源码,拖着右下角就可以放大或缩小对话框,基础的窗口编程例子,希望新手能够喜欢。 运行环境:Windows/Visual C/C++
  • 对话框学习3

    2012-09-28 12:01:00
    学习一个收缩对话框的方法 在C***Dlg类中的OnInitDialog函数里 CRect winRect; GetWindowRect(winRect); m_winWidth = winRect.right; /*CString str; str.Format("%d", winRect.Width()); ...
  • 对话框收缩与扩展

    2017-06-25 20:17:19
    void CTestDlg::OnBnClickedButton2() { // TODO: 在此添加控件通知处理程序...if (GetDlgItemText(IDC_BUTTON2, str), str == "收缩") { SetDlgItemText(IDC_BUTTON2, "扩展"); } else { SetDlgItemText(IDC
  • VC++ MFC简单时间对话框的放大缩小功能,源码,再放大缩小的同时改变响应只控件的匹配大小。
  • 对话框收缩和扩展

    2015-04-14 15:27:09
    下面我们完成一个功能,来完成对话框收缩和扩展: 首先,我们在对话框上放一个按钮,文本为“收缩>”: CString str; GetDlgItemText(IDC_BUTTON1,str); if(str=="收缩 {  SetDlgItemText(IDC_BUTTON1,"扩展>...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 38,373
精华内容 15,349
关键字:

如何缩小对话框