1、Delphi界面设计专辑前言:界面的美观和用户亲和性是应用软件成功的首要条件,因此界面往往是程序员 最费心的地方。在这个专辑中,将向读者全面介绍Delphi中界面设计的原则和技巧窗体设计制作固定大小的Form固定的Form像一个对话框,何不试试下面的语句巧用Delphi制作溅射屏幕精心编写的WINDOWS程序显示启动注意事项,称之为溅射屏幕(splash screen)0利用一 点儿小小的内容,即可给程序的显示添加不少色彩LED数码管仿真显示程序在电子设备上广泛地使用LED数码管显示数据,在许多应用软件中也经常模拟LED数 码管显示数据,使程序画面看起来很有特色菜单设计DELPHI中自适应表单的实现我们知道,屏幕分辨率的设置影响着表单布局,假设你的机器上屏幕分辨率是800*600,而 最终要分发应用的机器分辨率为640*480,或1024*768,这样你原先设计的表单在新机器上势 必会走样作非常规程序菜单掌握delphi高级秘籍大家可能见过诸如金山毒霸,瑞星杀毒,以及五笔输入法等等在系统托盘(即右下角有时 间和输入法图标的地方)在的控制菜单,而在正常的任务栏(即屏幕最下方的“开始”按钮
2、的右 边的各式各样)中却不出现按钮的程序,即我们常说的在后台运行的程序用Delphi制作动态菜单所谓动态菜单是指菜单项随着程序的操作变化而变化。现在,我们用Delphi来实现这一 功能,具体步骤如下工具栏和状态条为Windows窗口标题栏添加新按钮对于我们熟悉的标准windows窗口来讲,标题栏上一般包含有3个按钮,即最大化按钮, 最小化按钮和关闭按钮。你想不想在Windows的窗口标题栏上添加一个新的自定义按钮用Delphi4实现风Word97格的工具栏用过Word97的人对它的工具栏印象很深刻,因为它的风格很“酷”,同样IE4.0的工具栏也 有类似的风格,Win98的出现,使这种风格的工具栏得到了推广如何隐藏和显示Windows的任务条如果隐藏和显示Windows的任务条?仅仅调用以下的函数就可以.其他技巧Delphi利用Windows GDI实现文字倾斜在Delphi开发环境中,文字的输出效果一般都是头上脚下的正统”字符,如何输出带有一 定倾斜角度的文字以达到特殊的显示效果呢Delphi之三十六计之界面篇设置状态栏面板对象的Style为OwnerDraw,并在状态栏对象的Draw
3、Panel事件中书写以 下代码利用COM技术实现外壳扩展的属性页当用户在资源管理器中调用右键菜单时,会显示一个”属性”菜单项,点击属性菜单项会显示一个属性页,用户可以获得甚至修改文件信息 制作固定大小的Form 固定的Form像一个对话框,何不试试下面的语句?C+ Builder请参照Delphi的例子Delphi您可以覆写 CreateParams()这个TWinControl的虚拟程序,改变form的wc.Stylee,将 WS_SYSMENU这个旗标解除,这样,就不会有左上角的SystemMenuBox 了.至於不能移动.缩小/放大,可以自已拦下WM_NCHITTEST,然废一概回应滑鼠点在视窗 Client区域,相信这个视窗就呆呆的不会动了.详情可以查一下 Win32API Help 的 CreateWindow()与 WM_NCHITTEST 的说明.unit Unitl;interfaceusesWindows,Messages,SysUtils,Classes,Graphics,Controls,Forms,Dialogs,StdCtrls;typeTForml = cl
4、ass(TForm)Buttonl: TButton;procedure Button1Click(Sender: TObject);private( Private declarations procedure WMNCHitTest(var Msg: TMessage); message WM_NCHITTEST;protectedprocedure CreateParams(var Params: TCreateParams); override;public( Public declarations end;varForml: TForml;implementation$R *.DFM巧用Delphi制作溅射屏幕精心编写的WINDOWS程序显示启动注意事项,称之为溅射屏幕(splash screen)0利用一 点儿小小的内容,即可给程序的显示添加不少色彩。由于工程本身创建程序的主窗口,且启动溅射屏幕必须在创建主窗口之前出现,所以工程 文件必须创建自己的启动屏幕。这意味着用户必须修改源代码来创建工程文件,而这通常在 DELPHI编程中是不需要的。下面的过程介绍了溅射屏幕的建立过程
5、。l、开始一个新的工程。将窗体命名为MainForm,同时将其Caption属性设置为 SplashinDemo。把这个工程保存在一个目录中,如C:ProjectsSplashin。把MainForm的单元命 名为Main,把工程文件命名为Splashin。2、在 MainForm中插入一个Button组件。将Button的Name属性改为ExitButton,而将 其Caption属性改为Exit。为ExitButton的OnClick事件创建一个处理器,在过程的begin和 end关键词之间插入Close;语句。3、选取FilelNew Form命令,或者单击New Form速度按钮。添加一个新的窗体。4、将这个窗体的 Name属性改变为SplashForm,删除其Caption属性。此外,将其 BorderStyle属性改变为bsnone,同时将Bordericons下的三个子值设置为False。5、保存这个工程。当Delphi提示读者提供单元文件名时,要确信当前目录为正确的目录。 为SplashForm的单元文件名输入Splash。6、将SplashForm的Enabled属性
6、设置为False。这里不想让用户能够给窗口提供键盘和 鼠标命令,这是极少见的情况之一。在这个例子中,我们想让程序对SplashForm的显示拥有完 全的控制权。7、由于窗口没有轮廓,所以从Additional组件类中插入一个Bevel组件对象。这有助于 定义窗口的边缘。将Bevel1的Align属性设置为alClient。同时,将对象的Shape属性改变为 bsFrame,将其Style属性改变为bsRaised。这些值由使用者来确定。8、在SplashForm中插入想使用的组件,在这里不要插入任何按钮或者其他相互作用的 控件。应用程序本身显示和去除启动溅射对话框。9、选择Project菜单。高亮显示Splash工程个弹出式菜单。选择Options命令。在所产 生的Project Options对话框中,选取Forms页标签。注意,MainForm和SplashForm位于自动 创建的窗体列表中。高亮显示每个窗体并单击鼠标右按钮来将其移动到Available窗体。所 有的Delphi窗体在运行时都是在内存中自动创建的,这要消耗内存和系统资源。在这样的一 个案例中,程序是在运行时创建窗体
7、的,读者应该从自动创建的列表中删除窗体。关闭 ProjectOptions 窗口。10、接下来,修改工程的源代码,以便在显示主窗口之前显示溅射对话框。这里需要在工程文 件中插入语句,以便与Splash.dpr工程文件相匹配。工程源代码如下:program Project3;usesForms,main in main.pas (MainForm),splash in splash.pas (SplashForm);$R *.RESbeginSplashForm:=TSplashForm.Create(Application);SplashForm.Show;SplashForm.Update;Application.CreateForm(TMainForm,MainForm);SplashForm.Close;Application.Run;end.11、如果这时编译和运行程序,它就非常快速地显示和去除启动溅射对话框,以至用户可 能没机会见到它。为了强迫对话框保持几秒钟的可见时间,请选取程序的MainForm。为窗体 的OnCreate命令创建一个处理器。在关键词的前面添加一个名为st
8、opTime的长整型变量。 在begin和end之间插入两个语句:一个为对 Windows GetTickCount函数的调用。来将 stopTime设置为Windows已在运行的秒数;另一个语句为while语句,这个语句另外延迟2秒 钟。程序清单如下:unit main;interfaceusesWindows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,StdCtrls;typeTMainForm = class(TForm)Exitbutton: TButton;procedure ExitbuttonClick(Sender: TObject);procedure FormCreate(Sender: TObject);private( Private declarations public( Public declarations end;varMainForm: TMainForm;implementation$R *.DFMprocedure TMainForm.ExitbuttonCl
9、ick(Sender: TObject);beginclose;end;procedure TMainForm.FormCreate(Sender: TObject);varstopTime:LongInt;beginstopTime:=GetTickCount div 1000;while (GetTickCount div 1000) (stopTime+2) doSleep(1);end;end.12、按F9编译、运行程序。LED数码管仿真显示程序在电子设备上广泛地使用LED数码管显示数据,在许多应用软件中也经常模拟LED数 码管显示数据,使程序画面看起来很有特色。使用Delphi程序实现LED数码管的仿真显示 非常容易,具体步骤如下:1. 启动Delphi 4.0。在“Tools具菜单上选择Delphi的图象编辑器“Image Editor”,建立 一个新的位图,并设定位图的尺寸,宽为:48,高为:64。设定位图的底色为紫红色,前景色为红 色。在位图上选择适当宽度的线条画出一个正方的8字,并将方型8字的各个拐角处用斜线 断开,这样可使图象模拟的更加真实。完成后按文件名bitmap_0.bmp存储。然后用此文件复 制9个文件,文件名分别为bitmap_1-9。用图象编辑器将这些方形的8字位图按文件名序号 的顺序分别修改成09的数字位图,存储后备用。2. 建立一个新的工程,在窗体Forml上添加“面板”元件Panell,设定“面板”元件的属 性:bevelouter=bmRaised; bvevelInner=bvLowered; BorderWidth=4,设置后在 Panell 元件上形成 一个凸起的边框。在Pa
《delphi的精美界面设计》由会员cl****1分享,可在线阅读,更多相关《delphi的精美界面设计》请在金锄头文库上搜索。