MFC对话框最大化、最小化、全屏显示、可拉伸、(控件大小动态化)、滚动条

1.点击对话框,在属性里:border改为resizing,可拉伸

Maximize Box 改为True

Minimize Box 改为True

Vertical Scrollbar改为 true,显示滚动条

titlebar改为false,题目消失

2.对话框全屏显示:

OnInitDialog()中,也就是初始显示状态是全屏

int   cx,cy;

cx   =   GetSystemMetrics(SM_CXSCREEN);

cy   =   GetSystemMetrics(SM_CYSCREEN);

//再用MoveWindow

CRect   rcTemp;

rcTemp.BottomRight()   =   CPoint(cx,   cy);

rcTemp.TopLeft()   =   CPoint(0,   0);

MoveWindow(&rcTemp);

3.控件随对话框的大小而改变

添加OnSize,在类向导里。

添加:

if(m_sure.GetSafeHwnd())//m_sure为相应控件变量

m_sure.MoveWindow(0,0,cx,cy);

////按钮边界显示不出来,可能要给控件加了背景才可以。

4.控件随对话框的大小而改变,法2

1、在对话框类中加入成员变量CRect m_rect;用于保存对话框大小变化前的大小;
2、在对话框的OnInitDialog()函数中获取对话框创建时的大小:GetClientRect(&m_rect);
3、在WM_SIZE的响应函数OnSize()中加入以下代码:
C/C++ code
CWnd *pWnd;
 pWnd = GetDlgItem(IDC_LIST);     //获取控件句柄
 if(pWnd && nType!=1)//判断是否为空,因为对话框创建时会调用此函数,而当时控件还未创建
 {
  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);//将变化后的对话框大小设为旧大小

//////这长的代码只能改变一个控件,需改进。

时间: 2024-10-10 22:22:54

MFC对话框最大化、最小化、全屏显示、可拉伸、(控件大小动态化)、滚动条的相关文章

QT 全屏显示子窗口

QT 中全屏显示子窗口的方法 QT 中窗口部件 QWidget 成员函数 showFullScreen();是用于将窗口部件全屏显示 但是他只对窗口模式的部件有用.子窗口的特征是 Qt::SubWindow不是独立的窗 口.因此对其调用 showFullScreen无效.通过对子窗口调用setWindowFlags Qt: :Dialog或 setWindowFlagsQt::Window将其设为窗口模式后即可 调用 showFullScreen();进行全屏显示了. 相对于子窗口的全屏显示方法

Q窗口操作函数(窗口最大化,全屏,隐藏最大化最小化按钮)

//Qt主窗口没有最小化,最大化按钮且最大化显示  int main(int argc, char *argv[]) { QApplication a(argc, argv); TestQtForWinCE w; w.setWindowFlags(w.windowFlags()& ~Qt::WindowMaximizeButtonHint& ~Qt::WindowMinimizeButtonHint); w.showMaximized(); return a.exec(); } 这里的&q

JavaScript特效实例011-弹出全屏显示的网页模式对话框

实例011                    弹出全屏显示的网页模式对话框 实例说明 弹出全屏显示的网页模式对话框,用户关闭之前不能浏览网站的其他内容. 技术要点 本实例主要应用screen对象的width.height属性和window对象的showModalDialog()方法实现.其实还有一种方法打开网页对话框,即showModelessDialog()方法. 使用showModalDialog()与showModelessDialog()方法的区别在于,showModalDialog

VC++对话框(CDialog)的全屏显示及控件居中显示

在编写一些软件时,我们会比较偏向于比较简洁.清新的用户界面,同时为了避免其它程序或者桌面等影响使用者的注意力等,我们通常习惯将软件界面全屏,布满整个显示屏幕,与此同时,我们也将对界面中的控件位置进行相应的调整,让它们按屏幕的大小和其在对话框中的相对位置,居中显示. 下面结合实例说明(完整实例可在我的CSDN资源中下载:http://download.csdn.net/detail/margin1988/8337049): 在对话框的初始化函数OnInitDialog()中分三步作如下的操作: (

Qt中子窗口全屏显示与退出全屏

在Qt开发中偶尔遇到子窗口全屏显示和退出全屏的功能需求,是一种比较正常的情况,首先,我们需要知道子窗口全屏显示与退出全屏主要会调用的方法有哪些,下面将列举此过程主要调用的方法: isFullScreen():判断窗口当前是处于全屏状态还是非全屏状态 setWindowFlags(Qt::WindowFlags type):设置窗口属性 showFullScreen():设置窗口全屏显示 showNormal():设置窗口恢复原来显示(Restores the widget after it ha

QT中关于窗口全屏显示与退出全屏的实现

近期在学习QT时遇到了很多问题这也是其中一个,个人通过在各种书籍和网络上的查阅找到了一些关于这方面的答案,希望能给大家一些帮助. 首先,在QT中对于窗口显示常用的有这么几个方法可以调用: Qt全屏显示函数            showFullScreen() Qt最大化显示函数         showMaximized()Qt最小化显示函数         showMinimized()Qt固定尺寸显示函数      resize(x,y)Qt设置最大尺寸函数      setMaximum

IOS应用在ios7(iPhone5/iPhone5s)上不能全屏显示

前言 [IOS应用在iOS7系统或者iPhone5/iPhone5s上不能全屏显示,应用画面上下各有1条黑色,但是在其他系统或者型号的手机上却是正常显示 Paste_Image.png Paste_Image.png 解决方案 第一步 点击Launch Images Source后面的Use Asset Catalog按钮,会弹出Migrate launch images to an asset catalog对话框,点击Migrate按钮后,会将Launch Images Source设置为L

一步使你的asp.net网站在手机浏览器上全屏显示

一步使你的asp.net网站在手机浏览器上全屏显示 1.问题 公司的asp.net网页在手机浏览器上初始化时显示的是缩放的页面,用户必须手动放大才能看清页面的字体,这样体验不好 2.解决 前段时间学习JQuery mobile 看到所有的demo页面都能全屏显示在手机上,页面上面都有这样一段代码: ? 1 <meta name="viewport" content="width=device-width, initial-scale=1"> 参数说明:

wince 全屏显示、控制任务栏等

1 using System; 2 using System.Linq; 3 using System.Collections.Generic; 4 using System.Text; 5 using System.Windows.Forms; 6 using System.Runtime.InteropServices; 7 8 namespace ContourErrorPreventionPDA 9 { 10 public class FormScreen 11 { 12 const u