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

📄 bcjq004.txt

📁 c++ builder 的一些txt文档
💻 TXT
📖 第 1 页 / 共 2 页
字号:
    Height=rc.bottom-rc.top; // Line8
  
            
---- 在 上 面 的 程 序 片 段   
            中, 第2 行 语 句 是 将 传 递 过 来 的 第2 个 参 数   
            转 换 成 窗 口 句 柄; 然 后, 第3 行 语 句 利 用   
            这 个 窗 口 句 柄, 调 用API 函 数 以 获 得 该 窗   
            口 的 客 户 区 域; 第4 行 语 句 将 选 中 的 屏 幕   
            保 护 程 序 的 父 窗 口 设 置 为 指 定 的 窗 口;   
            余 下 的 语 句 是 将 该 程 序 的 窗 口 大 小 设 置   
            成 副 窗 口 的 客 户 区 大 小。 这 一 程 序 片 段   
            的 位 置 应 该 是 在 窗 体 的OnCreate 事 件 处 理   
            中。  
            
---- 需 要 说 明 的 是, 这   
            种 类 型( 包 括 第 三 步 介 绍 的 窗 体) 的 窗   
            体 样 式 应 是:  
                 FormStyle=fsStayOnTop;
  
            
---- 窗 体 边 界 的 样 式 应   
            为:  
                 BorderStyle=bsNone;
  
            
---- 当 然, 这 时 也 不 需   
            要 鼠 标 图 形, 因 此, 可 以 将 鼠 标 的 形 状   
            设 为 crNone:  
                 Cursor=crNone;
  
            
---- 二、 初 始 化 参 数   
            的 设 置  
            
---- 单 击" 显 示 器 属   
            性" 模 块 的" 屏 幕 保 护 程 序" 页 面   
            中 的" 设 置" 按 钮 时, 系 统 会 启 动 指   
            定 的 保 护 程 序 的 初 始 值 设 置 对 话 框, 这   
            时 传 递 过 来 的 命 令 行 参 数 是:"/c" 或"-c"(   
            参 数 的 处 理 与 前 面 介 绍 的 相 同)。 通 过   
            该 对 话 框, 可 以 设 置 保 护 程 序 的 一 些 初   
            始 参 数, 比 如 图 形 的 变 化 快 慢 等。 在 这   
            段 程 序 中, 还 要 涉 及 到 初 始 化 文 件 或 注   
            册 表 的 读 写, 用 以 记 录 初 始 化 参 数, 便   
            于 保 护 程 序 启 动 时 使 用。  
            
---- 三、 预 览 及 运 行  
            
---- 预 览 的 效 果 就 是 屏   
            幕 保 护 程 序 被 激 活 后 的 显 示。 单 击 单 击"   
            显 示 器 属 性" 模 块 的" 屏 幕 保 护 程 序"   
            页 面 中 的" 预 览" 按 钮, 就 可 以 观 察   
            保 护 程 序 运 行 的 实 际 效 果。 这 时, 系 统   
            启 动 该 程 序 时 传 递 过 来 的 命 令 行 参 数   
            是:"/s" 或"-s"。 对 于 命 令 行 参   
            数 的 处 理 与 前 面 的 步 骤 相 同, 但 在 这 一   
            步 中, 还 要 对 几 个 消 息 进 行 处 理, 这 些   
            消 息 是:WM_MOUSEMOVE,WM_LBUTTONDOWN,WM_MBUTTONDOWN,WM_RBUTTONDOWN,WM_KEYDOWN,WM_ACTIVATE。   
            对WM_MOUSEMOVE 和WM_ACTIVATE 消 息 的 处 理 形 式 如   
            下:  
            void __fastcall HandleSomeMessage(TMessage &Msg)
{
 switch(Msg.Msg)
 {// ......
  case WM_ACTIVATE: if(Msg.WParamLo==WA_INACTIVE)
                       Close();
                     break;
  case WM_MOUSEMOVE: if(OldMouseX==-1 && OldMouseY==-1) 
//In the constructor, OldMouseX and 
OldMouseY must be initialized by -1.
                       { OldMouseX = Msg.LParamLo;
                         OldMouseY = Msg.LParamHi;
                        }
                      else if (OldMouseX != Msg.LParamLo
                     || OldMouse!= Msg.LParamHi)
                        Close();
                      break;
  ......
  }
}
  
            
---- 对 于 其 他 的 消 息 仅   
            仅 是 调 用Close() 函 数 来 关 闭 应 用 程 序 即   
            可。 应 用 这 种 消 息 处 理 方 式 时, 必 须 要   
            类 定 义 时 进 行 消 息 映 射, 不 然 的 话, 就   
            要 在 相 应 的 消 息 响 应 中 进 行 处 理( 使 用   
            一 定 的 布 尔 变 量, 就 可 以 与 第 一 步 合 用   
            一 个 窗 体)。  
            
---- 与 第 一 步 类 似, 在   
            该 步 骤 中, 也 不 需 要 具 体 的 鼠 标 指 针 的   
            形 状, 因 此, 将 鼠 标 指 针 设 为crNone:  
                 Cursor=crNone;
  
            
---- 四、 修 改 项 目 源   
            文 件  
            
---- 在C++ Builder 3 中, 一 个   
            窗 体 也 就 是 一 个 类, 换 句 话 说, 具 有 某   
            些 特 性 的 类 也 就 是 一 个 窗 体, 因 此, 编   
            制 屏 幕 保 护 程 序 时, 也 不 需 要 什 么 主 窗   
            体, 同 时, 也 不 用 自 动 创 建 某 些 窗 体 了,   
            这 时 就 要 修 改 项 目 源 文 件, 下 面 所 列 出   
            的 程 序 就 是 笔 者 在 编 制 某 屏 幕 保 护 程 序   
            时 使 用 的 项 目 源 文 件, 供 读 者 参 考。  
            WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
 CreateMutex(NULL, true, "ScreenSaver");
 if(GetLastError()!=ERROR_ALREADY_EXISTS)
  {
   try
   {
    Application- >Initialize();
    Application- >Title = "屏幕保护程序测试";
if(UpperCase(ParamStr(1))==
"/C" || UpperCase(ParamStr(1))=="-C"
               ||ParamCount()==0)
     {TScrSaverConfiguerF *ScrCfg=
     new TScrSaverConfiguerF(NULL);
      ScrCfg- >ShowModal();
      delete ScrCfg;
      return 0;
      } //单击"设置"按钮
else if(UpperCase(ParamStr(1))==
"/P"||UpperCase(ParamStr(1))=="-P")
     {TScrForP *ScrFP=new TScrForP(NULL);
      ScrFP- >ShowModal();
      delete ScrFP;
      return 0;
      } //在"屏幕保护程序"下拉列表框中选择一个程序
else if(UpperCase(ParamStr(1))==
"/S"||UpperCase(ParamStr(1))=="-S")
     {TScreenSaveF *ScreenSave=new TScreenSaveF(NULL);
      ScreenSave- >ShowModal();
      delete ScreenSave;
      return 0;
      } // 单击"预览"按钮,及运行屏幕保护程序
    else
     return 1;
    }
   catch (Exception &exception)
    {
     Application- >ShowException(&exception);
     }
   }
 return 0;
} //the WinMain Function end
  
            
---- 前 面 介 绍 了 在C++   
            Builder 3 下 编 制 屏 幕 保 护 程 序 的 方 法. 对 于   
            C++ Builder 3 这 种RAD 工 具 来 讲, 开 发 这 类 程 序   
            也 是 相 当 方 便 的, 按 照 前 述 的 方 法, 可   
            以 在 极 短 的 时 间 开 发 出 屏 幕 保 护 程 序。   
            对 于 屏 幕 保 护 程 序, 在 本 文 中 没 有 说 明   
            的 就 是 如 何 设 置 口 令 的 问 题, 这 部 分 就   
            由 读 者 自 己 摸 索 吧。  
                          
                        
                            
                    
                          
                            
                          
                  if (ad==1) {document.write(''+'');}          
                  if (ad==2) {document.write(''+'');}          
                  if (ad==3) {document.write(''+'');}          
                                            
                          
                        
                      
                    
               
                
                  
                    
                  
                  
                      
                  
                
                   
                 
               
             
           
           
             
               
                 
                   
            C++ Builder开发者®        
              2000年06月01日 站长:唐朝        
                  
                
              
            
            
              
            
          
          
        
        
        
        

⌨️ 快捷键说明

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