精华内容
下载资源
问答
  • 对话框基类,可使得对话框上控件的大小随对话框大小改变而改变。继承后即可。
  • 易语言修改通用对话框大小源码,修改通用对话框大小,线程事件,FindWindow,设置窗口位置_
  • 自己编写的一个类、用于动态改变窗口中的控件的大小、已经完全封装好了、直接调用即可、使用方法有介绍、简单易用!
  • 对话框大小改变

    2013-09-18 10:40:59
    怎样实现对话框大小改变,本例使用了C++。
  • 对话框大小改变后对对话框上面控件的大小和位置进行动态的调整。
  • 用ege里面的库函数 inputbox_getline()创建的对话框 怎么才可以改变它的大小或颜色呢?求大牛告知
  • 对话框上的控件随对话框大小改变改变。mfc,vc6.0
  • 对话框的边界大小可以任意改变,非常有用!
  • 利用宏控制对话框上的控件,随对话框大小改变改变大小与位置~方便使用
  • 关键在于设置对话框内部控件的Anchor

    关键在于设置对话框内部控件的 Anchor 属性。 Anchor:当控件锚定到某个边缘时,与指定边缘最接近的控件边缘与指定边缘之间的距离将保持不变。


    如果希望宽度改变,那么设置为Left,Right

    如果希望高度改变,那么设置为Top,Bottom

    如果希望宽高都改变,那么设置 为 Top, Bottom, Left, Right。

    如果希望大小不变,一直在左下角,那么设置为Bottom,Left就可以了。其他几个地方类似。


    可以的话设置对话框的FormBorderStyle为Sizable。

    如果不希望对话框太小后控件挤在一起,那么设置对话框的MinimumSize就可以了。最小只能这么小。


    提示:如果希望设置对话框的返回值,那么和MFC程序不同的是,这里是在程序里面进行设置的,

    设置this.DialogResult = DialogResult.OK;// 也可以设置其他值。

    这样对话框ShowDialog()的返回值就是你设置的那个值了。

    展开全文
  • MFC控件随对话框大小改变而改变

    千次阅读 2014-08-20 10:07:56
    这也是我项目中碰到的问题,要让对话框中的控件随着对话框大小的变化进行自动调整,一般的做法是在WM_SIZE的响应函数中对所有的控件用MoveWindow()或者SetWindowPos()设置其变化比例。 但是由于需要自己计算,...

    这也是我项目中碰到的问题,要让对话框中的控件随着对话框大小的变化进行自动调整,一般的做法是在WM_SIZE的响应函数中对所有的控件用MoveWindow()或者SetWindowPos()设置其变化比例。

    但是由于需要自己计算,并且还有各种系统引起的情况,比如WIN7里有个选项“拖动时显示窗口内容”,选中与不选中导致对话框内容显示完全不一样,选中时错误,不选正确,确实让人头大。

    如EasySize是一个很好解决方案,用一些宏封装了内部的实现机制,使用起来方便快捷。原文地址:http://www.codeproject.com/KB/dialog/easysize.aspx

     

    使用方法如下:

    1.首先将EasySize.h拷贝到工程文件夹中,然后在stdafx.h中包含该头文件:
    #include "EasySize.h"(当然你也可以只放在要使用的类里)

     

    2.在对话框类声明中添加DECLARE_EASYSIZE宏:
    class CEasySizeDemoDlg : public CDialog
    {
    DECLARE_EASYSIZE
    ...

     

    3.在OnInitDialog()函数中添加INIT_EASYSIZE宏(注意分号):
    BOOL CEasySizeDemoDlg::OnInitDialog()
    {
        CDialog::OnInitDialog();
    ...    
       
    INIT_EASYSIZE;
        return TRUE; // return TRUE unless you set the focus to a control
    }

     

    4.响应WM_SIZE消息,在响应函数中添加UPDATE_EASYSIZE宏(注意分号):
    void CEasySizeDemoDlg::OnSize(UINT nType, int cx, int cy) 
    {
        CDialog::OnSize(nType, cx, cy);
       
    UPDATE_EASYSIZE;
    }

     

    5.如果需要限制对话框有一个最小尺寸,首先在资源视图中为对话框添加上最大化最小化按钮,然后Class Wizard中选择Class Info标签,在Message fileter下拉列表中选择Window,然后再点击Message Maps标签,就出现WM_SIZING消息了,添加该消息的响应函数:
    void CEasySizeDemoDlg::OnSizing(UINT fwSide, LPRECT pRect) 
    {
        CDialog::OnSizing(fwSide, pRect);
       
    EASYSIZE_MINSIZE(XXX,YYY,fwSide,pRect);
    }
    XXX,YYY是你自己定义的数值。

     

    6.添加控件布局映射,放到消息映射之后,基本格式如下:
    BEGIN_EASYSIZE_MAP(class_name)
        ...
        EASYSIZE(control,left,top,right,bottom,options)
        ...
    END_EASYSIZE_MAP

    class_name就是对话框类的类名

    control是要设置的控件的ID

    left、top、right、bottom分别指的是该控件左、上、右、下方的控件的ID,也可以为以下特殊值:
            ES_BORDER:保持与边框距离不变
            ES_KEEPSIZE:保持大小不变
                    所放位置:
                             left -- 表示和right指定的控件右对齐
                             right -- 表示和left指定的控件左对齐
                             top -- 表示和bottom指定的控件上对齐
                             bottom -- 表示和top指定的控件下对齐

    如EASYSIZE(IDC_MYICON2,ES_BORDER,ES_BORDER,IDC_TITLE,ES_KEEPSIZE,ES_HCENTER)

    我们看红色部分, 它是一个控件ID, 表示上(top)与控件ID为IDC_TITLE的控件对齐(保持距离).

    options可指定为0,也可指定为以下值:
            ES_HCENTER:保持宽度不变,水平位置在left和right指定的控件正中间
            ES_VCENTER:保持高度不变,垂直位置在left和right指定的控件正中间

     7.LAST BUT NOT LEAST,设置的时候是有先后顺序如果顺序设得不对,产生的布局完全不同的。


    展开全文
  • 动态改变对话框大小和位置。简单实用,有注释。
  • 可伸缩的对话框,控件自动根据窗口大小进行调整
  • 使得不对话框改变大小 使得不对话框改变大小
  • 改变对话框大小 特效

    2010-02-09 15:12:48
    改变对话框大小! 很值得下载看看!资源免费,大家分享!!
  • 易语言修改通用对话框大小源码
  • 控件是从CWnd派生的,但能使用SetWindowPos()或OnSize()或OnSizing()来改变其大小,应在父窗口的WM_SIZE消息中使用MoveWindow()来进行调整。 VC++之根据对话框大小调整控件大小 1、在对话框类中加入成员变量CRect...

    如果对话框或视类的大小调后,控件的大小和位置没有变化,界面看起来会很不爽.   控件是从CWnd派生的,但不能使用SetWindowPos()或OnSize()或OnSizing()来改变其大小,应在父窗口的WM_SIZE消息中使用MoveWindow()来进行调整。   VC++之根据对话框大小调整控件大小   1、在对话框类中加入成员变量CRect m_rect;用于保存对话框大小变化前的大小;   2、在对话框的OnInitDialog()函数中获取对话框创建时的大小:   GetClientRect(&m_rect);   3、在WM_SIZE的响应函数OnSize()中加入以下代码:   CWnd *pWnd;   pWnd = GetDlgItem(IDC_LIST);   //获取控件句柄   if(pWnd)//判断是否为空,因为对话框创建时会调用此函数,而当时控件还未创建   {   CRect rect;  //获取控件变化前大小  pWnd->GetWindowRect(&rect);   ScreenToClient(&rect);//将控件大小转换为在对话框中的区域坐标  // cx/m_rect.Width()为对话框在横向的变化比例  rect.left=rect.left*cx/m_rect.Width();/调整控件大小  rect.right=rect.right*cx/m_rect.Width();   rect.top=rect.top*cy/m_rect.Height();   rect.bottom=rect.bottom*cy/m_rect.Height();   pWnd->MoveWindow(rect);//设置控件大小  }   GetClientRect(&m_rect);//将变化后的对话框大小设为旧大小

    展开全文
  • 常用的MFC控件(包括字体、BMP控件)都可以进行缩放,子对话框的控件也可跟随主对话框大小缩放。单个对话框也适用。界面的控件ID循环查找存入数组中(这样界面可随意添删控件也需要改变代码,注意控件ID允许重复...
  • 废话多说了, 你肯定需要,Vc++6.0下编译通过
  • 动态改变对话框大小

    2019-05-20 11:14:28
    首先,需要在改变大小对话框中添加一条分隔条,分隔条是用图像控件制作的Picture Control,分隔条的位置就是对话框变小时所在的位置。修改分隔条ID为:IDC_SEPARATOR,选择Sunken属性,意思是下陷。 然后在需要...

    首先,需要在改变大小的对话框中添加一条分隔条,分隔条是用图像控件制作的Picture Control,分隔条的位置就是对话框变小时所在的位置。修改分隔条ID为:IDC_SEPARATOR,选择Sunken属性,意思是下陷。
    然后在需要修改的地方加入以下代码:

    static CRect rectLarge;
    static CRect rectSmall;
    if( rectLarge.IsRectNull() )
    {
    	CRect rectSeparator;
    	GetWindowRect(&rectLarge);
    	GetDlgItem(IDC_SEPARATOR)->GetWindowRect(&rectSeparator);
    	rectSmall.left = rectLarge.left;
    	rectSmall.top = rectLarge.top;
    	rectSmall.right = rectLarge.right;
    	rectSmall.bottom = rectSeparator.bottom;
    }
    if( str == "注销" )
    {
    	SetWindowPos( NULL, 0, 0, rectSmall.Width(), rectSmall.Height(), SWP_NOMOVE | SWP_NOZORDER );
    }
    else
    {
    	SetWindowPos( NULL, 0, 0, rectLarge.Width(), rectLarge.Height(), SWP_NOMOVE | SWP_NOZORDER );
    }
    

    定义两个矩形变量,要求是静态的。
    判断矩形是否为空,如果为空就对这两个矩形变量进行初始化,一个是大框,一个是小框。获取对话框的坐标初始化大框,获取分隔符的坐标,取其横坐标作为小框的坐标。这段代码只执行一次,因为初始化过后,矩形就非空了。
    然后根据条件,用这两个矩形设置对话框的大小尺寸即可。

    变量初始化如果放在对话框的初始化函数里的话,就需要定义成员函数。

    展开全文
  • VC动态改变对话框大小,其中控件也跟着改变,很实用的。。。
  • VC++实现对话框字体中控件字体大小、字体形状的动态修改
  • 拖动改变对话框大小

    2019-10-02 10:21:07
    修改对话框模板属性 styles-->>Border 属性改为Resizing 转载于:https://www.cnblogs.com/ygq11262006/archive/2013/05/12/3073955.html
  • MFC基于对话框的程序中,对话框大小改变后,控件还停留在原来的位置,为了更加美观,控件的位置和大小需要作出相应改变。
  • 动态修改对话框界面,演示了多种控件,在修改对话框大小时的变化.zip
  • 在vc 中,当对话框改变大小的时候,其中的控件位置及其大小的变化
  • 1.控件随着对话框的最小化,最大化而改变大小步骤: (1)首先在对话框类中定义一个CRect oldRect的类 (2)在Initstance()函数中获得GetClientRect(&oldRect)  (3) 添加WM_SIZE函数 OnSize()函数 (4)在响应...
  • 禁止改变对话框大小

    2014-11-26 12:44:43
    //if语句的前两行是用来禁止改变大小的,最后一行是用来禁止移动的 if(HTTOP == ret || HTBOTTOM == ret || HTLEFT == ret || HTRIGHT == ret || HTBOTTOMLEFT == ret || HTBOTTOMRIGHT == ret || HTTOPLEFT == ...
  • 一直都是直接通过拖动对话框大小和控件的大小,所见所得,不过有个缺陷是精确,拖的时候只能是一个大概值 今天发现原来可以用这种方法来解决:直接用文本打开.rc文件,直接修改里面的值,单位应该是按像素点来计算...
  • Qt创建对话框:调整对话框大小方法

    千次阅读 2019-12-02 22:37:34
    1.对于主窗口,在构造函数中调用如下语句实现对话框大小调整 MainWindow::MainWindow(QWidget *parent) : this->resize(QSize(1000,700)); 2.对于弹出对话框,调用如下语句可实现: QDialog dialog1...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 123,363
精华内容 49,345
关键字:

对话框的大小不可以改变吗