程序一运行就全屏显示. 应该如何设置?

cokeliu 2009-06-09 06:29:30
我做一个VC6 MFC单文本工程. 程序运行后显示不是满屏. 需要点击右上角的放大标才能全屏显示.
我希望程序一运行就全屏显示. 应该如何设置? 谢谢!
...全文
926 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
sshyqw 2011-11-04
  • 打赏
  • 举报
回复
连最大化和全屏都没搞清楚,问的什么问题啊,真是猪。
luckyboy101 2009-06-11
  • 打赏
  • 举报
回复
是最大化还是全屏?
cokeliu 2009-06-11
  • 打赏
  • 举报
回复
楼上的朋友. 您的方法我已经说过. 确实可以一运行程序就全屏幕显示. 但仔细看发现中间有个变换过程.
就如程序开始运行还是置中非全屏显示后.马上好像被点击了右上角的全屏显示图标一样. 继而全屏显示了. 这个变化过程在程序运行很容易被看出来.效果不太好.
Ryanwen 2009-06-11
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 cokeliu 的回复:]
最大化就是全屏啊. 我们一按窗口右上角的最大化后. 窗口就全屏显示了.
[/Quote]

最大化你还能看见任务栏,全屏整个屏幕就你的程序
zoulie 2009-06-11
  • 打赏
  • 举报
回复
在app中的initinstance中的showwindow前家这一句::SendMessage(m_pMainWnd->m_hWnd,WM_SYSCOMMAND, SC_MAXIMIZE, 0);
cokeliu 2009-06-11
  • 打赏
  • 举报
回复
最大化就是全屏啊. 我们一按窗口右上角的最大化后. 窗口就全屏显示了.
Randyqiu 2009-06-10
  • 打赏
  • 举报
回复
单文档的就用showwindow就可以了,但是我想问下:如果是基于对话框的程序让它初始化的时候最大化要怎么办比较好呢?
cokeliu 2009-06-10
  • 打赏
  • 举报
回复
谢谢. 按照1楼.4楼和6楼.7楼.的主意. 在app类中的InitInstance修改ShowWindow()参数.
运行后开始还是小窗口. 然后马上就变成一个大窗口. 中间有个变换过程看的很不舒服. 我希望程序运行后就是大窗口.
2楼说的方法试了不行. 3楼的方法不知道怎么试.
这不是鸭头 2009-06-10
  • 打赏
  • 举报
回复
shonWindows函数
lonelyhacker 2009-06-10
  • 打赏
  • 举报
回复

BOOL CXXApp::InitInstance()
{
//最后增加这两行
pMainFrame->ShowWindow(SW_SHOWMAXIMIZED); //主窗口最大化
pMainFrame->UpdateWindow();
}
xiaogang_1 2009-06-10
  • 打赏
  • 举报
回复
在CXXApp::InitInstance()函数的最后又一个m_pMainWnd->ShowWindow(SW_SHOW);
你将SW_SHOW参数修改为SW_MAXIMIZE,重新运行就可以了.
长老QY 2009-06-10
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 cokeliu 的回复:]
谢谢. 按照1楼.4楼和6楼.7楼.的主意. 在app类中的InitInstance修改ShowWindow()参数.
运行后开始还是小窗口. 然后马上就变成一个大窗口. 中间有个变换过程看的很不舒服. 我希望程序运行后就是大窗口.
2楼说的方法试了不行. 3楼的方法不知道怎么试.
[/Quote]

你是最大化还是全屏?你说的“中间有个变换过程”是可以屏蔽的,我手头没有MSDN,只能明天上班我查查我以前的代码再告诉你。
bragi523 2009-06-09
  • 打赏
  • 举报
回复
重载PreCreateWindow吧
长老QY 2009-06-09
  • 打赏
  • 举报
回复
但是感觉你问的是最大化:
使主框架窗口初始时最大化或最小化,可以在CWinApp派生类的InitInstance函数中调用CWnd::ShowWindow函数。
ShowWindow函数的定义如下:
BOOL ShowWindow(int nCmdShow);
其中:
nCmdShow:窗口的显示方式。值为SW_SHOWMAXIMIZED时表示窗口最大化显示。

BOOL CDemoApp::InitInstance()
{
// ...

//最大化
m_nCmdShow = SW_SHOWMAXIMIZED;
pMainFrame->ShowWindow(m_nCmdShow);
pMainFrame->UpdateWindow();

return TRUE;
}



长老QY 2009-06-09
  • 打赏
  • 举报
回复
全屏显示:
首先调用CWnd::ModifyStyle函数,删除WS_CAPTION和WS_BORDER风格;然后调用CWnd::SetWindowPos函数,设置窗口的位置和大小为屏幕大小。
ModifyStyle函数的定义如下:
BOOL ModifyStyle(DWORD dwRemove, DWORD dwAdd, UINT nFlags = 0);
SetWindowPos函数的定义如下:
BOOL SetWindowPos(const CWnd* pWndInsertAfter, int x, int y, int cx, int cy, UINT nFlags);

//删除WS_CAPTION和WS_BORDER风格
ModifyStyle(WS_CAPTION, 0);
ModifyStyle(WS_BORDER, 0);
//获得屏幕长度和高度
int cx = GetSystemMetrics(SM_CXSCREEN);
int cy = GetSystemMetrics(SM_CYSCREEN);
//设置对话框位置和大小
SetWindowPos(NULL, 0, 0 , cx, cy, SWP_NOZORDER);

anranran 2009-06-09
  • 打赏
  • 举报
回复
最大化吧.

BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{

if( !CFrameWnd::PreCreateWindow(cs) )
return FALSE;
// TODO: Modify the Window class or styles here by modifying
// the CREATESTRUCT cs
cs.style ^= WS_MAXIMIZE;
return TRUE;
}
  • 打赏
  • 举报
回复
研究一下showwindow的参数

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧