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

📄 05o018.htm

📁 VC知识库5_chm_decompile_20040520_210715
💻 HTM
字号:
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title></title>
<link rel="stylesheet" type="text/css" href="../../vckbase.css">
</head>

<body>

<div align="justify">
  <table border="0" width="100%" class="font" height="57">
    <tr>
      <td width="27%" height="6" class="bigfont" bgcolor="#B8CFE7" align="center" bordercolor="#800080">
      <font color="#800080">VC知识库(五)</font>
      </td>
      <td width="73%" height="6" class="bigfont" bgcolor="#B8CFE7" align="center" bordercolor="#800080">
      <font color="#800080">www.vckbase.com</font>
      </td>
    </tr>
    <tr>
      <td width="100%" height="4" class="header" valign="top" align="center" colspan="2">
      <hr>
      </td>
    </tr>
    <tr>
      <td width="100%" height="17" class="header" valign="top" align="center" colspan="2">



<p align="center"><strong><big>利用MFC编写屏幕保护程序</big></strong></p>



      </td>
    </tr>
    <tr>
      <td width="100%" height="17" class="info" align="center" colspan="2">
      <strong><big>闻怡洋</big></strong>
      </td>  
    </tr>  
    <tr> 
      <td width="100%" height="22" class="font" colspan="2">
        <hr>
      </td>  
    </tr> 
    <tr> 
      <td width="100%" height="5" class="font" colspan="2"> 



<p>在Windows95下的Screen Saver,可以依靠启动程序时的参数来确定当前运行的是什么功能,如:启动屏幕保护,或者是Config,或者是在屏幕属性页中运行。</p> 
 
 
 
<p>在CWinApp派生类中插入以下代码可以检测不同的启动原因。</p> 
 
 
 
<p>BOOL CYourApp::MatchOption(LPTSTR lpsz, LPTSTR lpszOption)<br> 
 
{<br> 
 
&nbsp;&nbsp;&nbsp; if (lpsz[0] == _T('-') || lpsz[0] == _T('/'))<br> 
 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lpsz++;<br>

&nbsp;&nbsp;&nbsp; if (lstrcmpi(lpsz, lpszOption) == 0)<br> 
 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return TRUE;<br> 
 
&nbsp;&nbsp;&nbsp; return FALSE;<br> 
 
}</p> 
 
 
 
<p>BOOL CYourApp::InitInstance()<br> 
 
{//根据不同的需要建立新窗口<br> 
 
&nbsp;&nbsp;&nbsp; if (__argc == 1 || MatchOption(__argv[1], _T(&quot;c&quot;)))<br> 
 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DoConfig();//弹出对话框,并返回FALSE。<br>

&nbsp;&nbsp;&nbsp; else <br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (MatchOption(__argv[1], _T(&quot;p&quot;)))<br> 
 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return DoSmall();//如果成功建立窗口返回TRUE,否则返回FALSE<br> 
 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else <br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if  
 
(MatchOption(__argv[1], _T(&quot;s&quot;)))<br> 
 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
return  
 
DoFull();//如果成功建立窗口返回TRUE,否则返回FALSE<br> 
 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>

&nbsp;&nbsp;&nbsp; return FALSE;<br> 
 
}</p> 
 
 
 
<p>当作为全屏幕运行,和Config时和普通程序一样处理,只要弹出相应的窗口便可以了。如果是在属性页中运行,则需要建立一个子窗口,而父窗口的句柄可以通过参数得到。</p> 
 
 
 
<p>BOOL CYourApp::DoSmall(void)<br> 
 
{<br> 
 
&nbsp;&nbsp;&nbsp; CWnd* pParent = CWnd::FromHandle((HWND)atol(__argv[2]));<br> 
 
&nbsp;&nbsp;&nbsp; ASSERT(pParent != NULL);<br> 
 
&nbsp;&nbsp;&nbsp; CSmallWnd* pWnd = new CSmallWnd();//CSmallWnd有自己定义<br> 
 
&nbsp;&nbsp;&nbsp; if(pWnd-&gt;CreateAsShow(pParent))//通过父窗口句柄建立子窗口<br>

&nbsp;&nbsp;&nbsp; {<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m_pMainWnd = pWnd;<br> 
 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return TRUE;<br> 
 
&nbsp;&nbsp;&nbsp; }<br>

&nbsp;&nbsp;&nbsp; return FALSE;<br> 
 
}</p> 
 
 
 
<p>我提供了利用MFC实现的Screen Saver的基类,该基类中实现了,CSSApp作为应用基类,CSmallWnd,CFullWnd分别作为全屏幕运行和在属性页中运行的窗口基类。<a 
 
href="http://meltingpot.fortunecity.com/cambie/210">DownLoad</a></p> 
 
      </td>     
    </tr>    
    <tr> 
      <td width="100%" height="12" class="font" colspan="2">  
      </td>     
    </tr> 
    <tr> 
      <td width="100%" height="6" class="font" colspan="2">  
      </td>     
    </tr> 
    <tr> 
      <td width="100%" height="8" class="font" colspan="2">  
      </td>     
    </tr> 
    <tr>    
      <td width="100%" height="17" class="font" colspan="2"></td>     
    </tr>    
  </table>     
</div>     
     
</body>     
     
</html>     

⌨️ 快捷键说明

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