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

📄 subject_23408.htm

📁 一些关于vc的问答
💻 HTM
字号:
<p>
序号:23408 发表者:萧马 发表日期:2002-12-03 23:51:16
<br>主题:请问:如何使得文档中的变量赋值后立即得到更新?
<br>内容:thank you thank you !<BR>
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:不说 回复日期:2002-12-04 00:53:26
<br>内容:不明白你说的啥意思呵呵……是说在视图里更新么?那还不都是你自己控制地?实在不行……你一开始初始化试图的那段代码再调一遍嘛,比如那个叫什么OnInitialUpdate()的……
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:萧马 回复日期:2002-12-04 01:19:52
<br>内容:花酒?羡慕!!没喝多吧,呵呵。<BR>补充,补充,我是这样的:<BR><BR>在主框架窗口中的一个按钮事件中,将一个字符串值赋予文档中的一个变量,紧接着就有另外一个按钮事件中(主框架窗口)就要用到这个文档变量,怎么样让这个文档变量立即的到更新?<BR>还有一个问题是,在主框架窗口中怎么让分割视图中某个视图重新绘制(我要调用这个视图中的OnCreate()函数)。<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>
回复者:凯凯 回复日期:2002-12-04 10:26:02
<br>内容:还是不明白,你赋值给文档中的变量,它不就已经是“马上”更新了吗?再来取值时就已经是新值了。<BR>第二个问题,可以调用视类的UpdateWindow函数。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:萧马 回复日期:2002-12-04 15:37:03
<br>内容:调用这个函数好象没有反映,调用OnInitialUpdate()函数也没有用,程序如下:<BR><BR> CLTreeView* pView=(CLTreeView*)m_wndSplitter.GetActivePane(0,0);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m_wndSplitter.SetActivePane(0,0);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pView-&gt;OnInitialUpdate();//或者pView-&gt;UpdateWindow()<BR><BR>都不行,其中CLTreeView为CTreeView类,m_wndSplitter为CSplitterWnd类。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:凯凯 回复日期:2002-12-04 15:46:37
<br>内容:不知道你的具体目的是什么。<BR>OnInitialUpdate()和UpdateWindow()是两回事。<BR><BR>UpdateWindow()是CWnd的成员函数,它强制发送WM_PAINT消息给窗口,一般触发OnPaint或OnDraw函数里的逻辑。<BR>OnInitialUpdate()是CView的成员函数。它由框架在视第一次和文档类绑定时调用,一般触发视的OnUpdate函数。这个函数一般是文档类被改变后用来更新视。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:萧马 回复日期:2002-12-04 16:39:45
<br>内容:不好意思,没说清楚,具体情况如下:<BR><BR>我是在主框架窗口弹出的对话框中添加数据后,点击保存后数据成功的加入表中,我想同时让分割视中左边的CTreeView视图相应的更新(该视图从同一个表中取数据并显示)。<BR><BR>分割视左边为CTreeView,右边为CListView.均为后来才创建的视类。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:萧马 回复日期:2002-12-04 17:34:10
<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>
回复者:萧马 回复日期:2002-12-04 17:45:11
<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>
回复者:萧马 回复日期:2002-12-04 20:07:36
<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>
回复者:凯凯 回复日期:2002-12-04 21:13:49
<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>
回复者:凯凯 回复日期:2002-12-04 21:15:39
<br>内容:如果你是严格的按DOC/VIEW结构来写程序,相应的视都绑定在文档类上,通过文档类来读写数据库,那你只要调用文档类的updateallview函数就可以更新所有相关的视了。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:萧马 回复日期:2002-12-04 21:45:48
<br>内容:我也尝试过用UpdateallView,可是UpdateallView的用法、、、、、?<BR>不知道这样写法是否有误:<BR>CLTreeView* pView=(CLTreeView*)m_wndSplitter.GetPane(0,0);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pDoc-&gt;UpdateAllViews(pView,0,NULL);<BR>UpdateAllViews参数设置错误,要么就是我原来的程序有误。<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>
回复者:凯凯 回复日期:2002-12-05 09:42:37
<br>内容:你更新TreeView内容的代码放在哪里?
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:萧马 回复日期:2002-12-05 12:45:38
<br>内容:谢谢凯兄,代码如下:<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;CRLDoc* pDoc =(CRLDoc*)GetActiveDocument();<BR>&nbsp;&nbsp;&nbsp;&nbsp;m_staffset=&amp;pDoc-&gt;m_staffset;<BR>&nbsp;&nbsp;&nbsp;&nbsp;dlg.UpdateData(TRUE);<BR>&nbsp;&nbsp;&nbsp;&nbsp;if(pDoc-&gt;m_staffname==dlg.m_staffname)<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AfxMessageBox("该用户已经存在或保存成功!");<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;else<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_staffset-&gt;AddNew();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_staffset-&gt;m_ADDRESS=dlg.m_address;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_staffset-&gt;m_AGE=dlg.m_age;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_staffset-&gt;m_BIRTHDAY=dlg.m_birthday;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_staffset-&gt;m_DEGREE=dlg.m_degree;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_staffset-&gt;m_DEPTISO=dlg.m_deptcode;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_staffset-&gt;m_GZSJ=dlg.m_gzsj;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_staffset-&gt;m_HEALTH=dlg.m_health;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_staffset-&gt;m_ID=dlg.m_id;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_staffset-&gt;m_IDENTITY=dlg.m_identity;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_staffset-&gt;m_MARRIAGE=dlg.m_marriage;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_staffset-&gt;m_NAME=dlg.m_staffname;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_staffset-&gt;m_NATION=dlg.m_nation;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_staffset-&gt;m_NATIVE=dlg.m_native;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_staffset-&gt;m_ORIGIN=dlg.m_origin;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_staffset-&gt;m_POLITY=dlg.m_polity;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_staffset-&gt;m_POSTCODE=dlg.m_postcode;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_staffset-&gt;m_RCSJ=dlg.m_rcsj;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_staffset-&gt;m_SEX=dlg.m_sex;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_staffset-&gt;m_SFZ=dlg.m_sfz;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_staffset-&gt;m_STAFFISO=dlg.m_staffiso;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_staffset-&gt;m_STAFFTYPE=dlg.m_stafftype;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_staffset-&gt;m_TEL=dlg.m_tel;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_staffset-&gt;Update();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pDoc-&gt;m_staffname=dlg.m_staffname;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//UpdateData(TRUE);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AfxMessageBox("祝贺您,保存成功");&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CLTreeView* pView=(CLTreeView*)m_wndSplitter.GetPane(0,0);&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pDoc-&gt;UpdateAllViews(pView,0,NULL);<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR>这段代码一看就知道是在主框架窗口中,是实现数据保存在表中,我想同时更新分割视左边的树状视图,所有后面添加了:<BR>CLTreeView* pView=(CLTreeView*)m_wndSplitter.GetPane(0,0);&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pDoc-&gt;UpdateAllViews(pView,0,NULL);<BR>左视图树状视图中数据的显示是在int CLTreeView::OnCreate(LPCREATESTRUCT lpCreateStruct) 中,我想实现的就是保存的同时让树状视图重新从数据库中取数据,也就是重新调用int CLTreeView::OnCreate(LPCREATESTRUCT lpCreateStruct),但是总是无法实现,不知道说得清不清楚?<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>回复者:凯凯 回复日期:2002-12-05 13:16:17
<br>内容:你应该把更新CLTreeView的代码放在CLTreeView类的OnUpdate函数中(重载它)。<BR>这样当你调用pDoc-&gt;UpdateAllViews(NULL,0,NULL);<BR>时,会自己动更新所有和这个文档相关的视。<BR>注意第一个参数设为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>
回复者:萧马 回复日期:2002-12-05 13:21:38
<br>内容:let's try,thank you please wait!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:不说 回复日期:2002-12-05 14:00:51
<br>内容:你下次哈,直接贴代码出来得了嘿嘿嘿嘿…………俺发现你的问题always要经历一个提问-》着火-》贴代码-》解答的过程……
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:萧马 回复日期:2002-12-05 15:10:22
<br>内容:知我者不说也。<BR>其实您说得也很对,我将代码放入OnInitialUpdate()中,然后在主框架中调用CLTreeView<BR>*pView-&gt;OnInitialUpdate();也行,都是我的错。<BR>谢谢凯,谢谢不说兄。
<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 + -