发信人: lofe ()感激生活(), 信区: BorlandDev
标  题: C++Builder3技巧
发信站: 哈工大紫丁香 (Sun Sep  3 07:43:34 2000), 转信

  Insprise公司(原Borland公司)推出的C++ Builder 3.0是新一代的基于C语言
的可视化开发工具。但由于它推出的时间不长,所以有关它的资料不是很多。在这里,
我向大家介绍一些使用C++ Builder 3.0编程的技巧。
  
    (一):读写注册表。
  
    现在的Windows程序大都使用了注册表来存储软件的配置信息。C++ Builder 3
.0中给我们提供了一个TRegistry类帮助我们管理注册表,它有以下几个常用的方法:
  
    OpenKey   打开一个键值
  
    ReadBool 从注册表中读取布尔值
  
    ReadInteger 从注册表中读取整型值
  
    ReadString  从注册表中读取字符串值
  
    WriteBool  向注册表中写入布尔值
  
    WriteInteger 向注册表中写入整型值
  
    WriteString  向注册表中写入字符串值
  
    代码演示:
  
    TRegistry &regkey=*new TRegistry();
  
    regkey.OpenKey(“software\myapp”,true);
  
    regkey.WriteInteger(“Max”,100);
  
    int x=regkey.ReadInteger(“Max”);
  
    delete &regkey;
  
    注意:使用TRegistry类时应包含头文件。
  
    (二):模仿超级链接。
  
    用过Winamp的朋友知道Winamp的界面中有一些模仿的超级链接,可以把你直接带
到它的相关网站中去。下面这个例子就实现了这种功能,当鼠标点击其中的仿超级链接
时,你就会直接到达《电脑商情报》的网址:
  
    新建一个应用,在窗体Form1上添加一个名为Label1的TLabel组件,然后在代码编
辑器中添加以下代码:
  
    void __fastcall TForm1::FormCreate(TObject *Sender)
  
    {
  
     Label1→Cursor=crHandPoint;
  
     Label1→Font→Color=clBlue;
  
     Label1→Font→Style=Label1→Font→Style<    Label1→Caption=“http:
//www.cbinews.com”;
  
    }
  
    
  
    void __fastcall TForm1::Label1Click(TObject *Sender)
  
    {
  
     ShellExecute(Handle,NULL,Label1→Caption.c_str(),NULL,NULL,SW_SHOWNOR
MAL);
  
    }
  
    
  
    void __fastcall TForm1::Label1MouseMove(TObject *Sender, TShiftState 
Shift,
  
     int X, int Y)
  
    {
  
     Label1→Font→Color=clRed;
  
    }
  
    
  
    void __fastcall TForm1::FormMouseMove(TObject *Sender, TShiftState Sh
ift,
  
     int X, int Y)
  
    {
  
     Label1→Font→Color=clBlue;
  
    }
  
    注意:本示例应该包含头文件。
  
    (三)取得Memo的行和列
  
    新建一个应用,在窗体Form1上添加两个TLabel组件名为Label1,Label2;添加两
个TButton组件名为Button1,Button2;添加一个TMemo组件名为Memo1。然后在代码编辑
器中添加以下代码。
  
    void __fastcall TForm1::Button1Click(TObject *Sender)
  
    {
  
    Label1→Caption=SendMessage(Memo1→Handle,EM_LINEFROMCHAR,-1,0)+1;
  
    }
  
    
  
    void __fastcall TForm1::Button2Click(TObject *Sender)
  
    {
  
    Label2→Caption=Memo1→SelStart-SendMessage(Memo1→Handle,EM_LINEINDE
X,-1,0)+1;
  
    }
  
    这种方法同样适用于RichEdit。
  
    (成都 陈寒秋)


  
  
--
 * *       * *         ***********************        *         *         *      
     *   *           ***Merry Force With You!***       *       * *       *       
      * *           ****                     ****       *     *   *     *       
       *             ***    愿力与你同在     ***         *   *     *   *        
     *   *            **                     **           * *       * *   
 * *       * *         ***********************             *         *
※ 修改:.haojs 于 Sep  3 07:41:11 修改本文.[FROM: bbs.hit.edu.cn]
--
※ 转寄:.武汉白云黄鹤站 bbs.whnet.edu.cn.[FROM: bbs.hit.edu.cn]

--
☆ 来源:.哈工大紫丁香 bbs.hit.edu.cn.[FROM: haojs.bbs@bbs.whnet.]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:3.667毫秒