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

📄 bcjq062.txt

📁 c++ builder 的一些txt文档
💻 TXT
📖 第 1 页 / 共 2 页
字号:

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++ 
                      Builder3 制作NotePad(记事本)续篇         
                           
                     
                       
                         
                           
                          上回说到“我的记事本”小功告成,copy给朋友一份,咦,不能用,说是缺文件?噢,像VB的VBRUN???
      .dll一样,C++ Builder3编译的程序也需要运行库的支持的。找到并打开它看看我们还有些什么没有做?首先是关于菜单的快捷键问题。如果你是使用我上次所给的资源脚本导人的菜单,你会发现带有快捷键的菜单项的文字都像“撒消(U)\tCtrl+Z”一样。以前用BC的资源编辑器做过菜单的朋友都知道,“\t”表示右对齐,而在C++ Builder3中也作为菜单的文字了。另外C++ Builder3中的快捷键的建立也简单的多,快捷键已经作为菜单的ShortCut属性了。这里,仅改动“编辑(E)”中的“撒消(U)Ctrl+Z”项来示众,其余皆可依样而画葫芦之。
  
   先双击MainMenu1菜单组件,进入菜单编辑器,选中“编辑(E)”中的“撤消(U)Ctrl+Z”项。接着将Caption属性改为“撤消(U)”(即把“\tCtrl+Z”删去),并在shortCut瞩性中选择Ctrl+Z。这样,该项的快捷键就设完了。接着是编辑菜单里的各个项。首先是“撤消(&U)Ctrl+Z”到“全部选定(&A)”六项(必须先将他们的Enabled属性都设为true),C++ Builder3为这些功能提供了现成的方法(Method)。比如“撤消(&U)Ctral+Z”菜单,可以使用Undo方法,即在该菜单的OnClick事件处理函数中输入“Memo1->Undo();”。同理有:
  
    “剪切(&T)\tCtrl+X”项,输入:“Memo1->CutToClipboard();”
  
    “复制(&C)\tCtrl+C”项,输入:“Memo1->CopyToClipboard();”
  
    “粘贴(&P)\tCtrl+V”项,输入:“Memo1->PasteFromClipboard();”
  
    “删除(&L)\tDel”项,输入:“Memo1->ClearSelection();”
  
    “全部选定(&A)”项,输入:“Memo1->SelectAll();”
  
   下面是“时间/日期(&D)F5”项,我们必须先取得当前的日期和时间。有两种方法,一种是用getdate和
  
      gettime函数,一种是用C++ Builder3中的TDateTime类。这里选择后一种,但有时使用getdate和gettime函数会更简便。下面给出该菜单项的处理代码:
  
      TDateTime * Current_DateTime =newTDateTime; //生成TDateTime对象
  
      * Current_DateTime=Current_DateTime->CurrentDateTime(); //获取当前日期和时间
  
      Memo1->SetselTextBuf(Current_DateTime->DateTimeString().c_str());//将当前日期和时间转换成字符串,并用SetSelTextBuf方法插入当前光标位置
  
   接着是处理‘自动换行(&W)”的代码:
  
      //W1是“自动换行(&W)”菜单项的名字(Name)属性,如果你不是W1,请做相应的改动
  
      if(W1->Checked) //该菜单已经检取(Checked)
  
      {W1->Checked=false; //取消检取
  
      Memo1->ScrollBars=ssBoth; //Memo1两根滚动条都要
  
      } else
  
      { W1->Checked=true; //设置检取
  
      Memo1->ScrollBars = ssVertical; //Memo1只设垂直滚动条,效果就是自动换行
  
      }
  
   接下来处理“设置字体(&F)...”菜单,我们首先需要一个设置字体的公用对话框。从Dialogs组件条中选FontDialog组件放入表单中。下面是处理“设置字体(&F)...”的代码:
  
      if(FontDialog1->Execute())Memo1->Font=FontDialog1->Font;
 
   至此,“编辑(E)”菜单的功能都处理完了,下面将是处理“搜索(S)”菜单的工作。其中,我们又将用到两个公用对话框。C++ Builder3只提供了用来获取用户欲查我的字符串的对话框,并未提供具体查找的函数,所以我们得自己写处理函数。下面我给出修改的Win32 SDK的范例代码,你需要将这些代码插在程序的首部,即定义全局变量的地方。
  
      typedef enum {
  
    frtFind
  
    frtReplace,
  
    frtRepAll
  
      } FRT
  
      #define GETSEL(ichS,ichE) \ SendMessage(MainForm - > Memo1 - > Handle,
  
      EM_GETSEL,(WPARAM) & ichs, (LPARAM) & ichE)
  
      #define SETSEL(ichS,ichE) \SendMessage(MainForm - > Memo1 - > Handle,
  
      EM_SETSEL, (WPARAM) ichS, (LPARAAM) ichE)
  
      BOOL FWholeWord(char * sz, char * szStart, char * szEnd,
  
      int cch) {
  
    if ( sz! = szStart & &
  
        * (sz - 1 ) ! = ' ' & &
  
        * (sz - 1 ) ! = '\t' & &
  
        * (sz - 1 ) ! = ',' & &
  
        * (sz - 1 ) ! = '.' & &
  
        * (sz - 1 ) ! = '\r'
  
    ) { return FALSE;
  
    }
  
    if ( sz + cch! = szEnd & &
  
        * (sz + cch) ! = ' ' & &
  
        * (sz +cch) ! = '\t' & &
  
        * (sz + cch) ! = ',' & &
  
        * (sz + cch) ! = '.' & &
  
        * (sz + cch) ! = '\r'
  
    ) { return FALSE;
  
    }
  
    return TRUE;
  
      }
  
      BOOL Find(char * szFind, BOOL fDown, BOOL fMatchCase, BOOL fWholeWord, BOOL fNoScroll)
  
      { char * szText;
  
    UINT ichStart;
  
    UINT ichEnd;
  
    UINT cch;
  
    int dch;
  
    int dchComp;
  
    char * szTerm;
  
    char * sz;
  
    UINT cchFind;
  
    BOOL fFound = FALSE;
  
    int dcbOnFind;
  
    szText = MainForm - > Memo1 - > Lines - > GetText();
  
    cchFind = strlen (szFind);
  
    GETSEL(ichStart, ichEnd);
  
    cch = strlen(szText);
  
    if (
  
        ichEnd - ichStart = = cchFind & &
  
        !strnicmp(szText + ichStart, szFind, cchFind)
  
        )
  
        dchOnFind = 1;
  
    else
  
        dchOnFind = 0;
  
    if (fDown)
  
        { dch = 1;

⌨️ 快捷键说明

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