单文档程序怎样启动时不显示视图呢?

xhe 2003-10-10 12:58:33
单文档程序怎样启动时不显示视图呢?
...全文
226 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
lj1006 2003-10-11
  • 打赏
  • 举报
回复
楼主是什么意思
zhang_dq 2003-10-11
  • 打赏
  • 举报
回复
在CXXXApp::InitInstance()中
CCommandLineInfo cmdInfo;
ParseCommandLine(cmdInfo);
cmdInfo.m_nShellCommand = CCommandLineInfo::FileNothing;
cadinfo 2003-10-11
  • 打赏
  • 举报
回复
单文档不显示视图,那你是否要显示框架?
框架是视图的包容器,如果你想不调用newdocument那么可以使用mdi结构
symonds 2003-10-11
  • 打赏
  • 举报
回复
Allesgut(剑愚郎) zhang_dq(虾米) 就可以实现,简单
xiaohyy 2003-10-10
  • 打赏
  • 举报
回复
单文档不显示视图显示什么??
Allesgut 2003-10-10
  • 打赏
  • 举报
回复
把CCommandLineInfo cmdInfo;
ParseCommandLine(cmdInfo);
注掉,如果只想不让View显示,建立一个多文档IInitinstance中加上:
if (cmdInfo.m_nShellCommand==CCommandLineInfo::FileNew)
{
cmdInfo.m_nShellCommand=CCommandLineInfo::FileNothing;
}
alloyequipment 2003-10-10
  • 打赏
  • 举报
回复
也不用这么麻烦吧。你让视图在启动时自动最小化就行了。
在CxxxView::OnInitialUpdate()中加上一句
GetParentFrame()->ShowWindow(SW_SHOWMINIMIZED);
Allesgut 2003-10-10
  • 打赏
  • 举报
回复
CSingleDocTemplate* pDocTemplate;
pDocTemplate = new CSingleDocTemplate(
IDR_MAINFRAME,
RUNTIME_CLASS(CSdiDoc),
RUNTIME_CLASS(CMainFrame), // main SDI frame window
RUNTIME_CLASS(CSdiView));
AddDocTemplate(pDocTemplate);

pDocTemplate = new CSingleDocTemplate创建一个模板(CSingleDocTemplate由CDocTem
plate派生,并且只适用于SDI应用程序),第一个参数IDR_MAINFRAME标识
了一些资源(字符串,图标等),在RC文件中你可以找到,RUNTIME_CLASS(CSdiDoc),
RUNTIME_CLASS(CMainFrame),RUNTIME_CLASS(CSdiView));RUNTIME_CLASS表示一个
运行时宏,运用运行时宏的好处是模板对象被创建时,Doc,Frame,View的对象不一定
要同时被创建,AppFrameWork可以在以后需要的时候动态创建(jjhou在深入浅出MFC中
对DECLARE_DYNCREATE和IMPLEMENT_DYNCREATE有很好的解释)。AddDocTemplate(pDocTem
plate);建立框架类,文档类和视图类之间的关系。注意,这时候还没有窗口
被创建。

CCommandLineInfo cmdInfo;
ParseCommandLine(cmdInfo);
CCommandLineInfo cmdInfo创建一个命令行信息类对象,该对象用来分析应用程序启动

时的命令行参数.调用CWinApp::ParseCommandLinecmdInfo);分析命令行的参数和标志

ProcessShellCommand(cmdInfo)
你的问题核心就在这里,CWinApp::ProcessShellCommand会间接调用OnFileNew,OnFile
New完成以下工作:
1。构造文件对象
2。构造主框架对象,创建主窗口(包括菜单栏,状态栏和工具栏),但不显示
3。构造视图对象并建立窗口,但先不显示
4。建立文档,视图和框架之间的联系
5。调用文档对象函数OnNewDocument
6。调用CView:OnInitUpdate函数
7。调用框架对象的CFrameWnd::ActivateFrame函数,显示主框架

marorabbit 2003-10-10
  • 打赏
  • 举报
回复
怎么可能

15,979

社区成员

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

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