建立一个MFC对话框程序,运行时使对话框最大化显示(即全屏显示)该如何设置?
2个回答
2011-04-15
展开全部
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;
}
另外,站长团上有产品团购,便宜有保证
{
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;
}
另外,站长团上有产品团购,便宜有保证
追问
可不可以再说详细些?是要再创建个新类还是加个成员函数啊?刚开始接触比较菜啊!不好意思。有帮助一定会加分的。感谢
展开全部
方法一:
在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下测试有效!
在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://cool.worm.blog.163.com/blog/static/6433900620086172104744/
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询