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

📄 bcjq089.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                 
                             
                               
                             
                           
                         
                       
                       
                         
                           
                             
                               
                                 
                                   
                                     
                  当前位置
          
          
                    编程技巧                  
                                  
                                
                              
                              
                              
                                
                                  
                                    
                              
          
      用C++ Builder编程撮图标资源           
                             
                       
                         
                           
                             
                               
     
    {  有时我们看到某个文件的图标很新颖,想把它保存下来,但却找不到合适的工具,能不能自己编个程序提取文件的图标呢?经过摸索,终于成功。下面以C++ 
    Builder为例,介绍文件图标的提取过程。
      Windows提供了一个API函数ExtractIcon,它能从指定的exe、dll、icon及其它含有图标的文件中提取图标,其原型如下:
      HICON ExtractIcon(
       HINSTANCE hInst,
       LPCTSTR lpszExeFileName,
       UINT nIconIndex
       );
      其参数意义如下:
      hInst:进程句柄
      lpszExeFileName:含有图标的文件名
      nIconIndex:要提取的图标索引值,若nIconIndex=-1,则函数返回此文件所含的图标数目。
    运行C++ Builder,新建一工程, 将此工程文件保存为icon.bpr,主窗口文件保存为main.cpp,向主窗口添加控件,主要控件有:快捷按钮SB_Open、图像控件Image1、编辑框Edit1、打开文件对话框OpenDialog1、保存图像对话框SavePictureDialog1、刻度条TrackBar1、状态条StatusBar1,如图所示。
      编辑框是用来显示需提取图标的文件名,在SB_OpenClick的OnClick事件中写入如下代码:
    void __fastcall TForm1::SB_OpenClick(TObject *Sender)
      {
      if(OpenDialog1->Execute())
       { //获得打开的文件名
       FileName=OpenDialog1->FileName;
         //分解文件名并显示在Edit1框中
       Edit1->Text=ExtractFileName(FileName);
       TrackBar1->Min=0;
           //得到此文件所含的图标数目,并赋给TrackBar1->Max
       TrackBar1->Max=(int)ExtractIcon(HInstance,FileName.c_str(),-1);
       TrackBar1->Position=0;
           //在状态条上显示图标数目
       StatusBar1->SimpleText=″此文件共含有图标″+IntToStr(TrackBar1->Max)+″个″;
           //index是一个全局变量,指示当前提取的图标索引值
       index=TrackBar1->Min;
           //根据index值,得到当前的图标,将索引图标的句柄赋给Image1
          //从而可以在Image1框中显示此icon
       Image1->Picture->Icon->Handle =ExtractIcon(HInstance,FileName.c_str(),index); 
    }
      }
      在刻度条TrackBar1的OnChange事件中写入如下代码:
      void __fastcall TForm1::TrackBar1Change(TObject *Sender)
      {  //将刻度条的变化赋给全局变量index,并显示变化后的图标
       index=TrackBar1->Position;
       Image1->Picture->Icon->Handle =ExtractIcon(HInstance,FileName.c_str(),index);
      }
      若要保存指定的icon,其代码如下:
      void __fastcall TForm1::TB_SaveClick(TObject *Sender)
      { if(SavePictureDialog1->Execute())
       { Image1->Picture->SaveToFile(SavePictureDialog1->FileName);}
      }
      若要保存此文件含有的所有图标,其代码如下:
      void __fastcall TForm1::TB_SaveAllClick(TObject *Sender)
      {
       AnsiString path,FileExt;
       SavePictureDialog1->FileName=″请选择保存路径″;
       if(SavePictureDialog1->Execute())
       {
       path=ExtractFilePath(SavePictureDialog1->FileName)+″\\″;
       FileExt=ExtractFileExt(SavePictureDialog1->FileName);
            //循环保存每个图标,每个图标的索引值即为它的文件名
       for(int i=0;i<TrackBar1->Max;i++)
       {
       Image1->Picture->Icon->Handle=ExtractIcon(HInstance,FileName.c_str(),i);
       Image1->Picture->SaveToFile(path+IntToStr(i)+FileExt);
       }
       }}
      至于查看当前图标的上一个或下一个图标,其代码就很简单了:
      //查看上一个图标
      void __fastcall TForm1::TB_PriorClick(TObject *Sender)
      { index--;
       TrackBar1->Position--;
       Image1->Picture->Icon->Handle =ExtractIcon(HInstance,FileName.c_str(),index);
      }
      //查看下一个图标
      void __fastcall TForm1::TB_NextClick(TObject *Sender)
      {
       index++;
       TrackBar1->Position++;
       Image1->Picture->Icon->Handle =ExtractIcon(HInstance,FileName.c_str(),index);
      }
      编译此工程文件并运行,一个版权属于你的图标提取器诞生了,欢迎与我探讨( 
    lmq@4y.com.cn )。本程序在Win98,C++ Builder5下运行通过。
      (江西 骆名群)}来自《电脑报》
                              
                            
                          
                              
                      
                            
                              
                            
                  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 + -