All articles(网络文学目录) All Pictures(图片目录) All Softwares(软件目录)

 
Delphi带背景的工具栏实例

Writer: aaa Article type: Programming skills(编程技巧) Time: 2014/7/19 0:11:11 Browse times: 342 Comment times: 0

Delphi带背景的工具栏实例


Head photo

Go homepage
Upload pictures
Write articles

Delphi带背景的工具栏实例

实例说明
工具栏是窗体的组成部分之一,工具栏中的按钮可以设定完成一些较为常用或重要的功能,本例设计了一个工具栏,并为该工具栏做了一些修饰,即使工具栏带有背景。背景的图案可以透过按钮显示,效果如图1.7所示。

技术要点
工具栏中的背景是一副图片,在运行时应该将改图片绘制到工具栏上,当工具栏需要重绘时会触发OnAdvanced CustomDraw事件,利用该事件可以完成对工具栏的绘制。在程序启动时将一幅尺寸合适的图片载入程序,当触发OnAdvancedCustomDraw事件时将图片绘制在工具栏上。退出程序时将图片绘制在工具栏上。退出程序时释放图片资源。这样就可以完成工具栏背景的绘制。
实现过程
1.新建一个标准工程,创建一个新窗体,默认主窗体的Name属性为Form1。
2.在窗体中添加TToolBar、TMemo组件。命名TToolBar组件为TBRbmp,在TBRbmp中添加一个工具栏按钮。
3.设置TMemo组件的Align属性为alClient。
4.程序代码如下。
在单元中声明变量:
var
Form1: TForm1;
Bmp:TBitmap;
窗体建立时载入图片:
procedure TForm1.FormCreate(Sender: TObject);
begin
Bmp:=TBitmap.Create;
bmp.LoadFromFile('mingrisoft.com.bmp');
end;
释放图片资源:
procedure TForm1.FormDestroy(Sender: TObject);
begin
bmp.Free;
end;
将图片绘制到工具栏上:
procedure TForm1.TBRbmpAdvancedCustomDraw(Sender: TToolBar;
const ARect: TRect; Stage: TCustomDrawStage; var DefaultDraw: Boolean);
begin
Sender.Canvas.StretchDraw(arect,Bmp);
end;

procedure TForm1.FormResize(Sender: TObject);
begin
TBRbmp.Repaint;
end;





There are 0 records,
Comment:
Must be registered users to comment(必须是注册用户才能发表评论)

Disclaimer Privacy Policy About us Site Map
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.