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

📄 bcjq015.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         
                     
                       
                     
                   
                 
               
               
                 
                   
                     
                       
                         
                           
                             
                  当前位置
  
  
                    编程技巧          
                          
                        
                      
                      
                      
                        
                          
                            
                    用BCB开发控制面板程序       
                         
                   
                     
                       
                         
                          前不久,Inprise公司(原Borland公司)正式公布了Delphi     
            5.0版,其开发向导中支持了“控制面板程序(CPL)”框架的生成,利用它可以快速、方便地开发CPL程序。那么是否能在现有的Borland     
            C++ Builder 4.0中开发CPL程序呢?
    
            
    
                              CPL程序是动态链接库(DLL)的一种变形,只不过扩展名为.cpl、入口函数为CPlApplet()而不是DllEntryPoint()罢了(并不是不要DllEntryPoint(),不然不能编译)。我们只需在BCB4.0中选择“File|New...”打开开发向导,选择“DLL”生成一个DLL框架,并在其中加入一个函数CPlApplet()就可以了。为了快速地说明问题,笔者先给出一个最简单的例子程序,然后再来解说。
            
            #include <vcl.h>
    
            #include <cpl.h>
    
            #include <cplext.h>
    
            #pragma hdrstop
    
            USERES("my.res");//这是我加入的资源文件,其中有一个图标
    
            
    
            extern"C" __declspec(dllexport) long CALLBACK __stdcall     
            CPlApplet(HWND hwndCPL,UINT uMsg,LPARAM lParam1,LPARAM lParam2);
    
            
    
            int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason,     
            void*)
    
            {
    
            return 1;
    
            }
    
            long CALLBACK __declspec(dllexport) __stdcall CPlApplet(HWND     
            hwndCPL,UINT uMsg,LPARAM lParam1,LPARAM lParam2)
    
            {
    
            LPNEWCPLINFO mycpl;//LPNEWCPLINFO结构可在CPL.H头文件中查看
    
            long result=0;
    
            switch (uMsg)//判断传来的信息
    
            {
    
            case CPL_INIT:// 第一个信息,在控制面板调入时产生
    
            result=1;
    
            break;
    
            case CPL_GETCOUNT://第二个信息,在控制面板调入时产生
    
            result=1;
    
            break;
    
            case CPL_INQUIRE://第三个信息,当控制面板查询时产生
    
            result=0;
    
            break;
    
            case CPL_NEWINQUIRE://第三个信息,当控制面板查询时产生
    
            mycpl=LPNEWCPLINFO (lParam2);// 将lParam2中的指针传给mycpl
    
            mycpl->dwSize=sizeof(NEWCPLINFO);
    
            mycpl->dwFlags=0;//标志变量 一般设为0
    
            mycpl->dwHelpContext=0;//帮助句柄一般设为0
    
            mycpl->lData=0;
    
            mycpl->hIcon=(HICON)LoadIcon(HInstance,"MyIcon");
    
            mycpl->szHelpFile[0]='\0';//帮助文件
    
            StrCopy(mycpl->szName,"BCB控制面板演示程序");//在图标下显示的说明文字
    
            StrCopy(mycpl->szInfo,"用BCB开发自己的控制面板程序");//     
            在控制面板状态栏中显示的说明信息
    
            result=0;
    
            break;
    
            case CPL_DBLCLK://当图标被双击时
    
            ShowMessage("这是一个CPL试验程序");
    
            result=0;
    
            break;
    
            case CPL_STOP://当用户关闭自已的程序时产生
    
            result=1;
    
            break;
    
            case CPL_EXIT:// 当控制面板关闭时产生,系统使用FreeLibrary()释放
    
            result=0;
    
            break;
    
            default:
    
            break;
    
            }
    
            return result;
    
            }
    
            
    
                              程序解说
            
                              CPL程序的运行流程是基于发送到程序的一系列消息。
            
                              当用户打开“控制面板”的时候,系统将遍历System目录下的所有CPL程序,并给它们传送CPL—INT消息。这时,CPL程序就可以做一些初始化工作,然后返回非零值,如果返零,程序将被终止。如果CPL—INT消息处理完成后,CPL程序将接收到CPL—GETCOUNT消息,此时程序必须返回对话框的数目,一般为1。然后,程序又将收到CPL—NEWINQUIRE消息,此时系统需要CPL程序提供有关信息,如图标、说明文字、帮助文件等,程序必须填充lParam2这个指针指向的信息结构,然后返回0。到这里,控制面板就完成了初始化,显示出各个图标。如果用户双击了某个图标后,这个图标所代表的CPL程序将接收到一个CPL—DBCLICK消息。这时,CPL程序可以显示出对话界面,进行有关操作。当用户完成操作、关闭程序时,必须返回0。当用户关闭“控制面板”,此时CPL程序将接收到CPL—STOP消息,这时就要释放内存资源,做好善后工作,然后返回1。     
            最后CPL程序将接收到最后一个消息CPL—EXIT,系统将删除各个窗口,并使用FreeLibrary()函数将CPL程序从系统中删除,完成整个流程。一般情况下,我们只需要对CPL—NEWINQUIRE和CPL—DBCLICK这两个消息进行处理,其它的消息只要返回默认值就够了。
    
            
    
                              大家只要编译这个CPL项目,并将结果拷贝到Windows\System目录下,然后打开“控制面板”就可以看到成果了。双击图标,程序将弹出一个信息框:“这是一个CPL试验程序!"。这样一个CPL程序就完成了。
            
                              如果你想加入更多的功能,只需将CPL—DBCLICK消息进行处理,比如可以显示一个窗口进行交互操作。具体的方法与在DLL中加入窗口的方法相同,因为CPL程序本身就是基于DLL框架制作出来的。下图是笔者做的一个交互窗口:最后,告诉读者一点技巧:想要编译器输出.cpl文件,可在Project|Options...|Application|output     
            settings中将输出扩展名dll改为cpl就行了。将CPL程序拷入Windows\System\目录下后不必打开“控制面板”,直接双击文件就可以打开这个程序了。而在其它目录下是没有作用的。   
                           
                         
                             
                     
                           
                             
                           
                  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 + -