精华内容
下载资源
问答
  • Qt创建对话框:调整对话框大小方法

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

    1.对于主窗口,在构造函数中调用如下语句实现对话框大小调整

    MainWindow::MainWindow(QWidget *parent) :
        this->resize(QSize(1000,700));

    2.对于弹出对话框,调用如下语句可实现:

     
        QDialog dialog1(this);
        dialog1.setWindowTitle("Hello World!");
        dialog1.resize(QSize(300,100));
        dialog1.exec();

     

    展开全文
  • 对话框大小改变后对对话框上面控件的大小和位置进行动态的调整
  • MFC 根据需要调整对话框大小

    千次阅读 2015-02-16 22:25:40
    通常在写图片或影像显示相关程序的时候需要先根据图像的分辨率来动态调整对话框和里面控件的大小和比例之后再进行显示。下面来介绍下做法,单单是调整对话框大小和位置是很简单的,只需要下面的代码 int ...

        通常在写图片或影像显示相关程序的时候需要先根据图像的分辨率来动态调整对话框和里面控件的大小和比例之后再进行显示。下面来介绍下做法,单单是调整对话框的大小和位置是很简单的,只需要下面的代码

    int screenwidth = GetSystemMetrics(SM_CXFULLSCREEN);//获取屏幕分辨率宽度,不包括任务栏等区域
    int screenheight = GetSystemMetrics(SM_CYFULLSCREEN);//获取屏幕分辨率高度,不包括任务栏等区域
    CRect rect(screenwidth / 2 - screenwidth / 4, screenheight / 2 - screenheight / 4, screenwidth / 2 + screenwidth / 4, screenheight / 2 + screenheight / 4);   //获取控件变化前的大小    
    CWnd *pWnd = AfxGetMainWnd();
    pWnd->MoveWindow(rect);
        单单上面的代码只要运行就会把对话框移动到屏幕的中间,并且长宽都是屏幕的二分之一。接下来,我们需要根据调节后的对话框的尺寸来设定控件的位置,这一步其实是这个功能算是比较复杂的点,好在之前的这篇文章已经介绍过了,就不再在这里加以赘述。

    展开全文
  • 调整对话框控件大小

    2015-06-30 21:42:24
    当改变对话框大小时,对话框中的控件也会随着按比例改变
  • 在遗留MFC工程上,调整对话框对象,以达到隐藏不关注的那些控件。

    在遗留MFC工程上,调整对话框对象,以达到隐藏不关注的那些控件。

    诉求:一个老的工程上,现在只需要其中很小一部分功能,想偷懒,不需要全部重写,不想大规模改写。比如如果直接去删除对话框上的一些控件,那么这些控件映射的成员变量、消息处理,都需要考虑。

    偷懒的做法:把不需要的控件全部给扔到对话框的下面,要用到的部分布局到对话框的左上角。在对话框初始化的时候调整窗口大小,隐藏掉那些用不到的控件。

    示例:

    原来的样子如下,现在只需要保留上面3个控件(2个编辑框加一个文本框)。

    before

    即希望的样子:

    after

    对话框资源:

    IDD_CHANGEWINDOWSIZE_DIALOG DIALOGEX 0, 0, 222, 153
    STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
    EXSTYLE WS_EX_APPWINDOW
    CAPTION "ChangeWindowSize"
    FONT 8, "MS Shell Dlg", 0, 0, 0x1
    BEGIN
        GROUPBOX        "All Controls",IDC_GROUP,14,7,192,139
        PUSHBUTTON      "First",IDC_FIRST,26,20,77,20,WS_DISABLED
        PUSHBUTTON      "Second",IDC_SECOND,117,20,77,20
        EDITTEXT        IDC_THIRD,26,52,168,20,ES_AUTOHSCROLL
        PUSHBUTTON      "Fourth",IDC_FOURTH,26,85,77,20,WS_DISABLED
        PUSHBUTTON      "Fifth",IDC_FIFTH,118,85,77,20,WS_DISABLED
        EDITTEXT        IDC_SOME_OTHERS,25,112,168,20,ES_AUTOHSCROLL | WS_DISABLED
    END
    

    在隐藏下半部分的时候,需要注意Group控件的显示效果,即要完整地显示这个group,而不是显示一个残缺的样子:

    Error

    思路:

    • 先确定要显示的编辑框的bottom坐标
    • 基于此,调整Group控件的bottom坐标
    • 调整对话框的bottom坐标

    代码:

    void CChangeWindowSizeDlg::ChangeWindowSize()
    {
        CRect rect;
    
        GetDlgItem(IDC_THIRD)->GetWindowRect(&rect);
        int bottom = rect.bottom;
    
        GetDlgItem(IDC_GROUP)->GetWindowRect(&rect);
        rect.bottom = bottom + 10;
        ScreenToClient(&rect);
        GetDlgItem(IDC_GROUP)->MoveWindow(&rect);
    
        GetClientRect(&rect);
        rect.bottom = bottom + 20;
        MoveWindow(&rect);
    }
    

    在OnInitDialog()中调用这个函数。

    还需要主要的是:对话框的Border不能是Resizing属性,否则用户通过调整对话框的大小,就可以看到下面本该隐藏的部分。

    Border

    展开全文
  • 有关如何使用WTL进行可调整大小对话框的文章。
  • 我想实现这样一个功能,就是起初弹出的对话框比较小,然后点击上面某个控件(比如按钮)时,对话框拉大,显示上面的隐藏信息,我是菜鸟,求高手指点,在线等~
  •  //对话框大小  rtClient += CSize((refRect.Width() - rectDlg.Width()) / 2, (refRect.Height() - rectDlg.Height()) / 2); //居中显示  MoveWindow(rtClient); //或者用SetWindowPos(&wndTopMost,...

    BOOL CXXXDlg::OnInitDialog()
    {

    .......

    CRect rtClient;  

    GetWindowRect(&rtClient);

     rtClient -= rtClient.TopLeft();

     CRect refRect = CRect(0, 0, 1024,768);

     CRect rectDlg = CRect(0, 0, width, height);    //对话框大小

     rtClient += CSize((refRect.Width() - rectDlg.Width()) / 2,   (refRect.Height() - rectDlg.Height()) / 2);   //居中显示

     MoveWindow(rtClient);  //或者用SetWindowPos(&wndTopMost,rtClient.left,rtClient.top,
      rtClient.Width(),rtClient.Height(),SWP_SHOWWINDOW);

    .......

     

    int CXXXDlg::OnCreate(LPCREATESTRUCT lpCreateStruct)
    {

      CRect rtThis;
      GetClientRect(&rtThis);

     

      //对话框内部控件位置利用与rtThis进行计算

     

    当SubclassDlgItem与MoveWindow同时出现时

    使用顺序为:

    先调用SubclassDlgItem,再MoveWindow!

    转载于:https://www.cnblogs.com/wuguoqiang/p/6524473.html

    展开全文
  • vc6.0基于ATL的可调整对话框大小的代码示例
  • easysize MFC对话框大小自动调整
  • 摘要:VC/C++源码,界面编程,对话框 VC++使对话框大小调整的实例源码,这是一个再简单不过的VC++初学者示例程序也,用VC++设计窗体界面的基础技巧,高手就不要下载了,不懂得可以下载源码参考学习,实例运行截图...
  • VC对话框调整大小,控件也随对话框变大变小,右下角图标!且只能通过右下角调整大小!!!代码绝对清晰易懂!
  • VC++之随父窗口变化调整控件大小之随父窗口变化调整控件大小之随父窗口变化调整控件大小之随父窗口变化调整控件大小/位置位置位置位置 如果对话框或视类的大小调后,控件的大小和位置没有变化,界面看起来会很不爽....
  • 对话框的大小变化后,假若对话框上的控件...首先明确的是Windows有一个WM_SIZE消息响应函数,这个函数在对话框大小发生变化的时候调用,所以我们可以记录下原来对话框的大小,还有当前对话框的大小(这个不用自己算,
  • 易语言调整通用对话框窗口默认大小源码,调整通用对话框窗口默认大小,线程事件,FindWindow,设置窗口位置_
  • ClxDialog类 ...//从此类派生出的对话框可以根据对话框大小变化自动调整控件大小 //头文件 [cpp] view plaincopyprint? ////////////////////////////////////
  • 易语言修改通用对话框大小源码,修改通用对话框大小,线程事件,FindWindow,设置窗口位置_

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 55,629
精华内容 22,251
关键字:

怎样调整对话框大小