⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 subject_37875.htm

📁 vc
💻 HTM
字号:
<p>
序号:37875 发表者:山人 发表日期:2003-04-29 09:04:12
<br>主题:在视图的PreCreateWindow()里调用GetDocument()为什么会失败呀?
<br>内容:BOOL CBMPopView::PreCreateWindow(CREATESTRUCT&amp; cs)<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;// TODO: Modify the Window class or styles here by modifying<BR>&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;&nbsp;the CREATESTRUCT cs<BR>&nbsp;&nbsp;&nbsp;&nbsp;CBMPopDoc* pDoc = GetDocument();<BR>&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;ASSERT_VALID(pDoc);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cs.cx = 100;<BR>&nbsp;&nbsp;&nbsp;&nbsp;cs.cy = 100;<BR>&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;return CScrollView::PreCreateWindow(cs);<BR>}<BR><BR><BR><BR><BR><BR>而且附值语句&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cs.cx = 100;<BR>&nbsp;&nbsp;&nbsp;&nbsp;cs.cy = 100;<BR><BR>并没有改变视图的大小&nbsp;&nbsp;&nbsp;&nbsp; 为什么&nbsp;&nbsp; <BR><BR>如何才能在新建文档时改变试图的默认大小<BR><BR>谢了
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:tjhe 回复日期:2003-04-29 09:18:17
<br>内容:此时文档对象还没有构造,如果想在新建文档时改变视图的大小,可在视图对应的框架(MDI为子框架)的PreCreateWindow(CREATESTRUCT&amp; cs)中修改框架的大小。<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:山人 回复日期:2003-04-29 09:45:50
<br>内容:但是我在用单步追踪调试的时候<BR><BR>在文档的构造函数和PreCreateWindow(CREATESTRUCT&amp; cs)里分别设置断点&nbsp;&nbsp; <BR><BR>发现是先构造文档的呀
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:tjhe 回复日期:2003-04-29 09:56:30
<br>内容:看来我说错了,应该所视和文档还没有建立联系,及视的m_pDocument还是NULL
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:山人 回复日期:2003-04-29 17:39:33
<br>内容:呵呵&nbsp;&nbsp; 谢了&nbsp;&nbsp;&nbsp;&nbsp;先给分了 <BR><BR>我再慢慢研究
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:山人 回复日期:2003-04-30 04:23:50
<br>内容:终于搞明白了<BR><BR>GetDocument()返回的是m_pDocument的值<BR>m_pDocument的值在建立文档对象时是NULL<BR>m_pDocument在AddView()中调用&nbsp;&nbsp;另其指向文档<BR>AddView()则是在OnCreate()中被调用的<BR>PreCreateWindow()很明显是在OnCreate()之前调用的<BR>所以这时的m_pDocument的值为NULL&nbsp;&nbsp;<BR>在GetDocument()中的ASSERT()中发生错误
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -