📄 bcjq031.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 经验点滴
1.全编译的问题
---- 在C++ Builder 3.0下,如果不进行设置,那么程序是不完全编译的,运行时要用到Windows的System目录下的一些文件,如将这样编译所得的可执行文件拷到其它未装C++
Builder
的机子里将无法运行。如果想全编译可以通过设置完成。设置方法如下:
---- 按“Project”下“Option”,选中“Packages”页下角的“Build
with runtime packages”即可。
2.在线帮助的制作
----
一个完整的程序应该有在线帮助。制作在线帮助并不难
,主要工作在制作帮助文件上,这需要一个帮助文件编译器,在C++
Builder的“CBuilder3\Help\Tools"
目录下就有一个帮助文件编译器HCW。实际上帮助编译
器的作用就是将.rtf文件编译成.hlp文件。让我们来看一个最简单的例子,用Word随便写一个.rtf文件,启动HCW,先建一个项目;按窗体右边的“Files”按钮,
把刚才做的.rtf文件添加进去;最后按右下角的“Save
and Compile”按钮,这样在你的项目的目录下,将会出现一个和项目同名的.hlp文件。在程序中使用帮
助文件如下:
Application->HelpFile=″myhelp.hlp″ ;//指定帮助文件
Application->HelpCommand(HELP_Contents,0); file://打开帮助窗体
3.安装组件
---- C++ Builder一个很吸引人的地方,就是它的组件。你不但可
以利用系统中提供的丰富的组件,而且可以利用第三方提供的组件。安装组件的
操作很简单,打开“Compoment”菜单下的“Install
Compoment”,然后选中要安装的组件的文件就行了。
4.读写注册表
现在的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类时应包含头文件。
5.模仿超级链接
用过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_SHOWNORMAL);
}
void __fastcall TForm1::Label1MouseMove(TObject *Sender,
TShiftState Shift,
int X, int Y)
{
Label1→Font→Color=clRed;
}
void __fastcall TForm1::FormMouseMove(TObject *Sender, TShiftState
Shift,
int X, int Y)
{
Label1→Font→Color=clBlue;
}
注意:本示例应该包含头文件。
6.取得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_LINEINDEX,-1,0)+1;
}
这种方法同样适用于RichEdit。
if (ad==1) {document.write(''+'');}
if (ad==2) {document.write(''+'');}
if (ad==3) {document.write(''+'');}
C++ Builder开发者®
2000年06月01日 站长:唐朝