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

📄 bcjq026.txt

📁 c++ builder 的一些txt文档
💻 TXT
字号:

C++ Builder开发者:程序员之家
var how_many_ads = 3;
var now = new Date()
var sec = now.getSeconds()
var ad = sec % how_many_ads;
ad +=1;
 
  
  
    
      
        
          
            首页   
              | 控件天堂 | 控件使用                   
              | 编程技巧                    
              |  源代码 |  编程工具 |        
               系统补丁 |  电子书籍 | 技术论坛                    
              |  相关链接                 
                           
                         
                       
                     
                     
                       
                         
                           
                             
                           
                 
       if (ad==1) {document.write(''+'');}               
       if (ad==2) {document.write(''+'');}               
       if (ad==3) {document.write(''+'');}               
                              
                           
                        
                                    
                        
                      
                    
                  
                  
                    
                      
                        
                          
                       
                     
var marqueecontents=''+scroll_text+''           
if (document.all)           
document.write(''+marqueecontents+'')           
function regenerate(){           
window.location.reload()           
}           
function regenerate2(){           
if (document.layers){           
setTimeout("window.onresize=regenerate",450)           
intializemarquee()           
}           
}           
function intializemarquee(){           
document.cmarquee01.document.cmarquee02.document.write(marqueecontents)           
document.cmarquee01.document.cmarquee02.document.close()           
thelength=document.cmarquee01.document.cmarquee02.document.height           
scrollit()           
}           
function scrollit(){           
if (document.cmarquee01.document.cmarquee02.top>=thelength*(-1)){           
document.cmarquee01.document.cmarquee02.top-=speed           
setTimeout("scrollit()",100)           
}           
else{           
document.cmarquee01.document.cmarquee02.top=marqueeheight           
scrollit()           
}           
}           
window.onload=regenerate2           
                       
                         
                       
                     
                   
                 
                 
                   
                     
                       
                         
                           
                             
                               
                  当前位置
    
    
                    编程技巧            
                            
                          
                        
                        
                        
                          
                            
                              
                    CBUILDER让任务栏图标动起来        
                          
                    
                      
                        
                          
                          在windows环境下上网时,你有没有注意到在屏幕的右下脚的任务栏上有一个动画图标呢?它一闪一闪的,形象的表示出网络此时正在传输数据。关于任务栏图标编程的文章有不少,可是如何才能编制出动态图标呢?在C++Builder中可以比较方便的实现。
            
                              其基本编程思路是:通过设置Timer时钟控件使应用程序在规定的时间间隔内发送特定的消息,使任务栏图标不断更改,从而形成动画效果。实现方法为在应用程序的表单中加载几个Image控件,使他们装载相应的图画,几幅图画按顺序连续的被显示,就形成了动画。
            
                              在这里,我们用一个门的开关动画来做例子,在表单上放置一个Timer控件,两个Image,分别装载“开门”和“关门”两幅图。开始加入代码。
            
                              应用程序必须用发送消息的办法通知任务栏增加,删除,和修改图标。发送消息必须
            调用Shell_NotifyIcon。它的原形为:
            
                              WINSHELLAPI BOLL WINAPI Shell_NotifyIcon(
  
                              DWORD dwMessage, POINTIFYCONDATA pnid);
  
            
  
                              第一个参数 dwMessage是发送消息的标志,可以选
  
                              NIM_ADD // 往任务栏通知区添加图标
  
                              NIM_DELETE //往任务栏通知区删除图标
  
                              NIM_MODIFY //通知任务栏通知区修改图标
  
            
  
            编制消息发送函数TrayMessage
  
            bool __fastcall TForm1::TrayMessage(DWORD dwMessage)
  
            {
  
            NOTIFYICONDATA tnd;
  
            PSTR pszTip;
  
            pszTip = TipText();
  
            tnd.cbSize= sizeof(NOTIFYICONDATA);
  
            //结构的大小
  
            tnd.uCallbackMessage = MYWM_NOTIFY;
  
            //自定义回调消息,在头文件中声明
  
            tnd.hWnd= Handle;
  
            //接受回调消息的窗口句柄
  
            tnd.uID = IDC_MYICON;
  
            //图标标志号
  
            tnd.uFlags= NIF_MESSAGE | NIF_ICON | NIF_TIP;
  
            //指定以下三个参数哪个包含有效数据
  
            if (dwMessage == NIM_MODIFY)
  
            {
  
            tnd.hIcon =
  
            (HICON)IconHandle(); //取得图标句柄
  
            if (pszTip)
  
            lstrcpyn(tnd.szTip, pszTip,
  
            sizeof(tnd.szTip));
  
            else
  
            tnd.szTip[0] = '\0';
  
            }
  
            else
  
            {
  
            tnd.hIcon = NULL;
  
            tnd.szTip[0] = '\0';
  
            }
  
            return (Shell_NotifyIcon(dwMessage, &tnd));
  
            }
  
            编制取得图标句柄的函数
  
            HICON __fastcall TForm1::IconHandle(void)
  
            {
  
            if (n==1)
  
            { return (Image1- >Picture->Icon- >Handle);
  
            //n是全局变量,1为显示Image1,0为Image2
  
            }
  
            else
  
            { return (Image2- >Picture- >Icon- >Handle);
  
            }
  
            }
  
            编制图标状态转换函数
  
            
  
            void __fastcall TForm1::ToggleState(void)
  
            {
  
            if (n==1) //n为图标句柄锁,是全局变量,
  
            1为显示Image1,0为Image2
  
            {
  
            n=n-1;
  
            }
  
            else
  
            {
  
            n=n+1;
  
            }
  
            TrayMessage(NIM_MODIFY);
  
            //发送图标变换消息
  
            }
  
            
  
            
  
                              对Timer控件编制代码,设它的Interval属性为1000,即定时器每一秒响应一次。为   
            Ontimer事件键入代码:
  
            
  
            void __fastcall TForm1::Timer1Timer(TObject *Sender)
  
            { ToggleState( );
  
            }
  
            
  
                              由于篇幅有限,以上只列出了基本部分的代码,其他功能的实现,如关闭程序,打开窗口等,比较简单,不在赘述。程序运行时,你将看到在屏幕的右下角任务栏有一扇门打开又关闭的动画图标。是不是很有趣,快编一个你喜欢的吧。
            
            转载自C++Builder园地    
                            
                          
                              
                      
                            
                              
                            
                  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 + -