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

📄 01_9_16_4.asp.html

📁 有用的VC教程,包括编程思想编程技巧程序效率等方面的指导
💻 HTML
📖 第 1 页 / 共 2 页
字号:
 TCHAR szTempFile [MAX_PATH]</td></tr></table><table width=100% ><tr><td class=a14>
 UINT nResult=GetTempFileName (szTempPath, _T ("~ex"),0,szTempfile)</td></tr></table><table width=100% ><tr><td class=a14>
 ASSERT (nResult)</td></tr></table><table width=100% ><tr><td class=a14>
</td></tr></table><table width=100% ><tr><td class=a14>
 strTempName=szTempFile</td></tr></table><table width=100% ><tr><td class=a14>
}</td></tr></table>
  <table width=100% >
    <tr> 
      <td class=a14><b> <a name="67">67.如何访问桌面窗口?</a></b></td>
    </tr>
  </table>
  <table width=100% ><tr><td class=a14>
静态函数CWnd:: GetDesktopWindow 返回桌面窗口的指针。下例说明了MFC函数CFrameWnd::BeginModalStae是如何使用该函数进入内部窗口列表的。</td></tr></table><table width=100% ><tr><td class=a14>
</td></tr></table><table width=100% ><tr><td class=a14>
void CFrameWnd::BeginModalState ()</td></tr></table><table width=100% ><tr><td class=a14>
{</td></tr></table><table width=100% ><tr><td class=a14>
 …</td></tr></table><table width=100% ><tr><td class=a14>
 //first count all windows that need to be disabled</td></tr></table><table width=100% ><tr><td class=a14>
 UINT nCount=0</td></tr></table><table width=100% ><tr><td class=a14>
 HWND hWnd= :: GetWindow (:: GetDesktopWindow(), GW_CHILD)</td></tr></table><table width=100% ><tr><td class=a14>
 while (hWnd!=NULL)</td></tr></table><table width=100% ><tr><td class=a14>
 {</td></tr></table><table width=100% ><tr><td class=a14>
 if (:: IsWindowEnabled (hwnd)</td></tr></table><table width=100% ><tr><td class=a14>
&& CWnd::FromHandlePermanent (hWnd)!=NULL</td></tr></table><table width=100% ><tr><td class=a14>
&& AfxIsDescendant (pParent->m_hWnd, hWnd)</td></tr></table><table width=100% ><tr><td class=a14>
&& :: SendMessage (hWnd, WM_DISABLEMODAL, 0, 0)==0)</td></tr></table><table width=100% ><tr><td class=a14>
 {</td></tr></table><table width=100% ><tr><td class=a14>
++nCount</td></tr></table><table width=100% ><tr><td class=a14>
 }</td></tr></table><table width=100% ><tr><td class=a14>
 hWnd=:: GetWindow (hWnd, GW_HWNDNEXT)</td></tr></table><table width=100% ><tr><td class=a14>
 }</td></tr></table><table width=100% ><tr><td class=a14>
 …</td></tr></table>
  <table width=100% >
    <tr> 
      <td class=a14><b><a name="68"> 68.我怎样才能建立一个等待光标?</a></b></td>
    </tr>
  </table>
  <table width=100% ><tr><td class=a14>
调用BeginWaitCursor函数来启动等待光标,调用EndWaitCursor函数来结束等待光标。要注意,二者都要调用app的成员函数,如下所示:</td></tr></table><table width=100% ><tr><td class=a14>
    AfxGetApp()->BeginWaitCursor();</td></tr></table><table width=100% ><tr><td class=a14>
    // 要做的事</td></tr></table><table width=100% ><tr><td class=a14>
    AfxGetApp()->EndWaitCursor();</td></tr></table>
  <table width=100% >
    <tr> 
      <td class=a14><b> <a name="69">69.我在MDI框架中有个form视窗。它有个取消按钮,我需要当用户按取消按钮时可关闭form视窗。我应该如何关闭该文档?</a></b></td>
    </tr>
  </table>
  <table width=100% ><tr><td class=a14>
调用OnCloseDocument函数。</td></tr></table>
  <table width=100% >
    <tr> 
      <td class=a14><b> <a name="70">70.什么是COLORREF?我该怎样用它?</a></b></td>
    </tr>
  </table>
  <table width=100% ><tr><td class=a14>
COLORREF 是 一 个 32-bit 整 型 数 值,它 代 表 了 一 种 颜 色。你 可 以 使 用 RGB 函 数 来 初 始 化 COLORREF。例 如:</td></tr></table><table width=100% ><tr><td class=a14>
</td></tr></table><table width=100% ><tr><td class=a14>
    COLORREF color = RGB(0, 255, 0);</td></tr></table><table width=100% ><tr><td class=a14>
RGB 函 数 接 收 三 个 0-255 数 值,一 个 代 表 红 色, 一 个 代 表 绿 色, 一 个 代 表 蓝 色。在 上 面的 例 子 中, 红 色 和 蓝 色 值 都 为 0,所 以 在 该 颜 色 中 没 有 红 色 和 蓝 色。绿 色 为 最 大 值 255。所 以 该 颜 色 为 绿 色。0,0,0 为 黑 色,255,255,255 为 白 色。</td></tr></table><table width=100% ><tr><td class=a14>
</td></tr></table><table width=100% ><tr><td class=a14>
另 一 种 初 始 化 COLORREF 的 方 法 如 下 所 示:</td></tr></table><table width=100% ><tr><td class=a14>
</td></tr></table><table width=100% ><tr><td class=a14>
    CColorDialog colorDialog;</td></tr></table><table width=100% ><tr><td class=a14>
    COLORREF color;</td></tr></table><table width=100% ><tr><td class=a14>
</td></tr></table><table width=100% ><tr><td class=a14>
    if( colorDialog.DoModal() == IDOK )</td></tr></table><table width=100% ><tr><td class=a14>
    {</td></tr></table><table width=100% ><tr><td class=a14>
        color = colorDialog.GetColor();</td></tr></table><table width=100% ><tr><td class=a14>
    }</td></tr></table><table width=100% ><tr><td class=a14>
这 段 代 码 使 用 了 MFC 中 的 颜 色 对 话 框,它 需 要 文 件。</td></tr></table>
  <table width=100% >
    <tr> 
      <td class=a14><b> <a name="71">71.我在我的程序中是了CDWordArray。我向它添加了约10,000个整数,这使得它变得非常非常慢。为什么会这么糟?</a></b></td>
    </tr>
  </table>
  <table width=100% ><tr><td class=a14>
CDWordArray 是 很 好 用 的,只 是 因 为 你 没 有 指 定 数 组 的最大尺寸。因 此,当 你 添 加 新 元 素 时,该 类 会 从 堆 中 重 新 分 配 空 间。不 幸 的 是,该 类 会 在 每 次 插 入 新 元 素 时 都 为 数 组 重 新 分 配 空 间。如 果 你 向 它 添 加 了 很 多 新 元 素,所 有 这 些 分 配 和 复 制 数 组 的 操 作 会 就 会 使 它 变 慢。解 决 该 问 题 的 方 法 是,你 可 以 使 用 SetSize 函 数 的 第 二 个 参 数 来 改 变 这 种 重 新 分 配 的 频 率。例 如,如 果 你 把 该 参 数 设 置 为 500,则 每 次 数 组 空 间 超 出 时 它 才 重 新 分 配 并 添 加 500 个 新 空 间,而 不 是 1 个。这 样 一 来,你 就 可 以 不 用 重 新 分 配 而 添 加 了 另 外 499 个 元 素 空 间,这 也 会 大 大 提 高 程 序 的 运 行 速 度。</td></tr></table>
  <table width=100% >
    <tr> 
      <td class=a14><b><a name="72"> 72.AppWizard所产生的STDAFX文件是干什么用的?</a></b></td>
    </tr>
  </table>
  <table width=100% ><tr><td class=a14>
它 主 要 是 协 助 产 生 预 编 译 头 文 件 的。通 常 你 是 不 需 要 修 改 它 的。</td></tr></table>
  <table width=100% >
    <tr> 
      <td class=a14><b> <a name="73">73.在我的程序的某些部分,我可以调用MessageBox函数来建立一个信息对话框,例如在视类中。但是,在其它部分我却不能,如文档类中。为什么?我怎样才能在我的应用程序类中建立一个信息对话框?</a></b></td>
    </tr>
  </table>
  <table width=100% ><tr><td class=a14>
MessageBox 函 数 来 自 CWnd 类,所 以 你 只 能 在 从 CWnd 继 承 的 类 ( 如 CView ) 中 调 用 它。但 是,MFC 也 提 供 了 AfxMessageBox 函 数,你 可 以 在 任 何 地 方 调 用 它。</td></tr></table>
  <table width=100% >
    <tr> 
      <td class=a14><b> <a name="74">74.我该如何改变MDI框架窗口的子窗口的大小以使在窗口以一定的大小打开?</a></b></td>
    </tr>
  </table>
  <table width=100% ><tr><td class=a14>
在 视 中 的 OnInitialUpdate 函 数 中 调 用 GetParentFrame 函 数。GetParentFrame 会 返 回 一 指 向 一 保 存 有 该 视 的 框 架 窗 口 的 指 针。然 后 调 用 在 框 架 窗 口 上 调 用 MoveWindow。</td></tr></table>
  <table width=100% >
    <tr> 
      <td class=a14><b> <a name="75">75.我需要在我的程序中设置全局变量,以使文档中的所有类都能访问。我应该吧它放到哪儿?</a></b></td>
    </tr>
  </table>
  <table width=100% ><tr><td class=a14>
把 该 变 量 放 到 该 应 用 程 序 类 的 头 文 件 中 的 attribute 处。然 后,在 程 序 的 任 何 地 方,你 都 可 以 用 下 面 的 方 法 来 访 问 该 变 量:</td></tr></table><table width=100% ><tr><td class=a14>
</td></tr></table><table width=100% ><tr><td class=a14>
    CMyApp *app = (CMyApp *)AfxGetApp();</td></tr></table><table width=100% ><tr><td class=a14>
    app->MyGlobalVariable = ...</td></tr></table>
  <table width=100% >
    <tr> 
      <td class=a14><b><a name="76"> 76.我听说MFC可以发现内存漏洞,我怎样使用该特性?</a></b></td>
    </tr>
  </table>
  <table width=100% ><tr><td class=a14>
如 果 你 在 Debug 菜 单 中 的 Go 选 项 ( 不 是 Project 菜 单 中 的 Execute 选 项 ) 来 运 行 你 的 应 用 程 序,MFC 应 该 在 程 序 终 止 时 报 告 内 存 漏 洞。如 果 没 有,那 么 试 试 运 行 MFC Tracer 工 具 程 序 ( 在 VC++ 程 序 组 中 ),并 启 动 跟 踪。然 后 返 回 应 用 程 序。</td></tr></table>
  <table width=100% >
    <tr> 
      <td class=a14><b> <a name="77">77.我怎样才能在我的应用程序中循环浏览已经打开的文档?</a></b></td>
    </tr>
  </table>
  <table width=100% ><tr><td class=a14>
使用CDocTemplate中未公开的GetFirstDocPosition()和GetNextDoc()函数。</td></tr></table>
  <table width=100% >
    <tr> 
      <td class=a14><b><a name="78">78.我怎样才能在我的应用程序中循环浏览已经打开的视?</a></b></td>
    </tr>
  </table>
  <table width=100% ><tr><td class=a14>
使 用 CDocument 中 未 公 开 的 GetFirstViewPosition() 和 GetNextView() 函 数。</td></tr></table>
  <table width=100% >
    <tr> 
      <td class=a14><b> <a name="79">79.虚拟函数PreCreateWindow是干什么用的?</a></b></td>
    </tr>
  </table>
  <table width=100% ><tr><td class=a14>
PreCreateWindow 允 许 你 在 调 用 CreateWindow 之 前 来 改 变 窗 口 属 性。</td></tr></table>
  <table width=100% >
    <tr> 
      <td class=a14><b><a name="80"> 80.我应该怎样防止MFC在窗口标题栏上添加文档名?</a></b></td>
    </tr>
  </table>
  <table width=100% ><tr><td class=a14>
在 PreCreateWindow 函 数 中 删 除 FWS_ADDTOTITLE 标 志 的 窗 口 样 式:</td></tr></table><table width=100% ><tr><td class=a14>
</td></tr></table><table width=100% ><tr><td class=a14>
    cs.style &= ~FWS_ADDTOTITLE ;</td></tr>
</table><br>
<style>.a1{font-size:1}</style>
<table width=100% ><tr><td align=right>(网页编辑:<a href='mailto:liu_yang@ccw.com.cn'>风之翼</a>)</td></tr></table>
</td><td class=a1 bgcolor=#f46240>&nbsp;</td>
<td valign=top width=138 align=right><table width=98% ><tr><td>
<form action='/app/gsearch1.asp' name=pdn><table width=100% ><tr><td>应用与方案
频道全文检索</td></tr>
<tr><td><input type="text" name="textfile" size=15 value=频道内检索 onfocus="this.value=''">
	<input border=0 src="../../../../../images/jian.gif" name="I1" type="image" align=absmiddle>
</td></tr>
</table>
</form>
<form name=srch action="/search/which.asp" method=post onsubmit="JavaScript:return chk()">
<table width=100% >
  <tr><td><select size="1" name="func">
  <option selected value="2">主题检索</option>
  <option value="1">周报全文检索</option>
  <option value="3">模糊词检索</option>
</select></td></tr>
  <tr><td><input type="text" name="SrchStr" size=15 value="输入待检索的词"
  onfocus="this.value=''">
  <input src="../../../../../images/jian.gif" name="I1" type="image" align="absMiddle" border=0>
  </td></tr>
</table>
<script language="JavaScript">
function chk()
{if (!document.srch.SrchStr.value){
alert("请输入需检索的词!");	
document.srch.SrchStr.focus();
return false;
}
else{if (document.srch.SrchStr.value.length>30){
alert("检索的词请不要超过30个字符!");
document.srch.SrchStr.focus();
return false;
}
}
}
</script></form>
<table width=100% ><tr><td class=f colspan=2><b>相关文章</b></td></tr>
<tr><td valign=top><IMG SRC=../../../../../img2/jiao.gif></td><td><a href='01_9_16_3.asp.html'>Visual C++ 编程问答(三)</a></td></tr>
<tr><td valign=top><IMG SRC=../../../../../img2/jiao.gif></td><td><a href='01_9_16_2.asp.html'>Visual C++ 编程问答(二)</a></td></tr>
<tr><td valign=top><IMG SRC=../../../../../img2/jiao.gif></td><td><a href='01_9_14_2.asp.html'>Visual C++ 编程问答(一)</a></td></tr>
<tr><td valign=top><IMG SRC=../../../../../img2/jiao.gif></td><td><a href='../jiqiao/01_9_14_22.asp.html'>用vc6.0编服务器与客户机互相传送消息的程序</a></td></tr>
<tr><td valign=top><IMG SRC=../../../../../img2/jiao.gif></td><td><a href='../jiqiao/01_9_14_21.asp.html'>用VC++编写CGI程序</a></td></tr>
</table>
</td></tr></table></td></tr></table><br>
<table align=center width=680><tr><td align=right>
<form name=mail method=post action='/pub/subMail.asp' onsubmit='JavaScript: return chkField(this)'>
<INPUT type='hidden' name='rec' value='24262'>
您的姓名:<INPUT type="text" name=myName size=10>&nbsp;
您朋友的E-mail:<INPUT type="text" name=friendMail size=10>&nbsp;
<INPUT type="submit" value="推荐给好友">
</form>
</td></tr>
<tr><td align=right>
<b>[<a href="javascript:window.close()">关闭窗口</a>]</b>
</td></tr>
</table>
<script language="javascript">
function chkField(fmObj)
{if (!fmObj.friendMail.value){
	alert("请输入您朋友的E-mail!");
	fmObj.friendMail.focus();
	return false;
}
	return true;
}
</script>
<table align=center width=680>
<tr><td><hr size=1 width=660 color=#f46240></td></tr>
</table><br>
<p align=center>Copyright(C) ccw.com.cn,All rights reserved</p>
<p align=center><b>中国计算机世界出版服务公司版权所有</b></p>

⌨️ 快捷键说明

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