建立一个MFC对话框程序,运行时使对话框最大化显示(即全屏显示)该如何设置?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了建立一个MFC对话框程序,运行时使对话框最大化显示(即全屏显示)该如何设置?相关的知识,希望对你有一定的参考价值。

testDlg::OnSize(UINT nType, int cx, int cy)

CDialog::OnSize(nType, cx, cy);

// TODO: 在此处添加消息处理程序代码

static RECT LastWindowRect = ;//用来保存窗口上一次的大小
CWnd *hWin;//构造一个句柄
int ux = cx - LastWindowRect.right;

//求出窗口的水平变化量
int uy = cy - LastWindowRect.bottom;

//求出窗口的竖直变化量
if((hWin = GetDlgItem(IDC_PPP)) != NULL) //IDC_LIST1为控件的ID号

RECT rect;
hWin->GetWindowRect(&rect);//获得控件的大小
ScreenToClient(&rect);//设备到客户
rect.right += ux;//
rect.bottom += uy;
hWin->MoveWindow(&rect);//改变控件大小

LastWindowRect.right = cx;
LastWindowRect.bottom = cy;

另外,站长团上有产品团购,便宜有保证追问

可不可以再说详细些?是要再创建个新类还是加个成员函数啊?刚开始接触比较菜啊!不好意思。有帮助一定会加分的。感谢

参考技术A 方法一:
在OnInitDialog()函数中

ShowWindow(SW_SHOWMAXIMIZED);
初始化的时候

方法二:

当然,你可以获取屏幕大小,然后设置窗口位置/大小
//ShowWindow(SW_MAXIMIZE);
// 获得屏幕分辨率
HDC hDesktopDC = CreateDC(_T("DISPLAY"), NULL, NULL, NULL);
int xScrn = GetDeviceCaps(hDesktopDC, HORZRES);
int yScrn = GetDeviceCaps(hDesktopDC, VERTRES);
MoveWindow(0, 0, xScrn, yScrn);

写OnShowWindows消息响应,调showwindow(SW_SHOWMAXIMIZED)

方法三:

在DIALOG的OnInitDialog过程中加入
CDialog::OnInitDialog();
SetWindowPos(NULL,0,0,GetSystemMetrics(SM_CXSCREEN),GetSystemMetrics(SM_CYSCREEN),0);

其中最一种方法最简单,
第二种方法比较好用,可以自定义设置对话框的大小。
二种方法都在VC6+win2k下测试有效!追问

用第一种方法使串口最大化,那么控件的大小随着窗口大小变化该怎么做呢?要详细哦,我比较菜!嘿嘿!非常感谢!

追答

百度知道http://zhidao.baidu.com/question/250695500.html
博客http://blog.csdn.net/xianglitian/archive/2007/08/02/1722448.aspx
多用百度

参考资料:http://cool.worm.blog.163.com/blog/static/6433900620086172104744/

以上是关于建立一个MFC对话框程序,运行时使对话框最大化显示(即全屏显示)该如何设置?的主要内容,如果未能解决你的问题,请参考以下文章

【VC++】如何最大化对话框

MFC SDI 和对话框

MFC对话框程序一运行直接最小化显示怎么办

怎样用window api实现程序全屏显示

vc6.0 mfc窗口问题

MFC设置对话框定时显示60秒,然后自动弹出另外一个对话框。怎么给对话框添加最大化最小化按钮。