在Delphi4 BDE中配置Access数据库
2008-04-09 04:17:59来源:互联网 阅读 ()
接下来我要讲的是如何在我们的程序中加入此功能,我们可以用DELPHI很轻易地实现,在DELPHI中我们可以指定某个Twincontrol类(如Ttoolbar)的父级为另一个Twincontrol(这里是Tstatusbar),然后通过动态创建Ttoolbar就可以在Tstarbar上创建TToolbar了,并且为工具条(Toolbar)添加按钮及其事件,通过调用API中的winexec实现对Window的应用程序的调用。下面给出了详细的代码和注释给大家分享。
unit superbar;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
Dialogs,ComCtrls;
type
TForm1 = class(TForm)
StatusBar1: TStatusBar;{为窗体添加一个状态栏}
procedure FormCreate(Sender: TObject);
private
{声明以下过程}
procedure createsuperbar(sender:Tobject;Imagelist:TImagelist);
{创建工具条}
procedure createbutton(toolbar:TToolbar;Const ButtonCaptions: array of String);
{创建工具条的按钮}
procedure superbuttonclick(sender:Tobject);
{为工具条按钮添加事件}
public
end;
var
Form1: TForm1;
toolbar:TToolbar;
implementation
uses shellapi,commctrl;{注意要加入此句,否则程序运行无法通过}
{$R *.DFM}
procedure TForm1.createsuperbar(sender:Tobject;Imagelist:Timagelist);
begin
toolbar:=TToolbar.Create(self);{动态创建一个工具条}
with toolbar do
begin
parent:=statusbar1;{定义toolbar的父类为状态栏,这样就可以创建出状态栏的工具条了}
top:=1;left:=1;height:=18;
buttonheight:=16;buttonwidth:=16;{定出toolbar和toolbutton的宽度长度};
flat:=true;autosize:=true; {设置toolbutton为浮动形式}
images:=imagelist;{设置toolbutton的图标}
{使工具条可以脱离状态栏.注意:如果你用的是DELPHI3.0需删除此两句 纯捎脈
dragkind:=dkdock;
dragmode:=dmautomatic;
end;
end;
procedure TForm1.createbutton(Toolbar:TToolbar;Const ButtonCaptions: array of String);
var
I,m: Integer;
begin
m:=0;
for I := 0 to High(ButtonCaptions) do
begin
with TToolButton.Create(ToolBar) do
begin
Parent := ToolBar;
Caption := ButtonCaptions[I];
onclick:=superbuttonclick;{为toolbutton增加鼠标click事件}
if (ButtonCaptions[I]=‘|’) then{判断是不是分隔符}
begin
Style := tbsSeparator;
m:=m+1;
end
else
begin
Style := tbsButton;
imageindex:=i-m;
end;
end;
end;
end;
{这里是响应鼠标事件,实现应用程序的打开}
procedure TForm1.superbuttonclick(sender:Tobject);
begin
winexec(pchar((sender as TToolbutton).caption),SW_ShowNormal);
{打开一个Windows的应用程序}
end;
procedure TForm1.FormCreate(Sender: TObject);
const
ExeList:array[0..2] of String=(
‘winfile.exe’,
‘|’,
‘notepad.exe’);{可以在这里加上其它应用程序的全称,也可以不要分隔符}
var
imagelist:Timagelist;
i:integer;
begin
imagelist:=Timagelist.Create(self);
try{加入安全代码,也可不加}
for i:=0 to high(exelist) do
if exelist[i] $#@60;$#@62; ‘|’ then
begin
ImageList_AddIcon(ImageList.Handle,ExtractIcon(Handle,PChar(ExeList[i]),0));
{为imagelist添加图标}
end;
createsuperbar(self,imagelist);
createbutton(toolbar,exelist);
finally
end;
end;
end.
以上程序已在Pentium-MMX166 32M Windows 98 DELPHI 4.0 通过,小弟反复测试没有问题,才斗胆拿出来与大家分享,如有问题望广大Delphi迷能给小弟多提意见,在下将翘首期待你的来信。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:制作固定大小的Form
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash