没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
Delphi 界面美化
界面的美观和用户亲和性是应用软件成功的首要条件,因此界面往往是程序员最费心的地方。在这个专辑中,
将向读者全面介绍 Delphi 中界面设计的原则和技巧
窗体设计
制作固定大小的 Form
固定的 Form 像一个对话框,何不试试下面的语句
巧用 Delphi 制作溅射屏幕
精心编写的 WINDOWS 程序显示启动注意事项,称之为溅射屏幕(splash screen)。利用一点儿小小的内容,即
可给程序的显示添加不少色彩
LED 数码管仿真显示程序
在电子设备上广泛地使用 LED 数码管显示数据,在许多应用软件中也经常模拟 LED 数码管显示数据,使程序
画面看起来很有特色
菜单设计
DELPHI 中自适应表单的实现
我们知道,屏幕分辨率的设置影响着表单布局,假设你的机器上屏幕分辨率是 800*600,而最终要分发应用的机
器分辨率为 640*480,或 1024*768,这样你原先设计的表单在新机器上势必会走样
作非常规程序菜单掌握 delphi 高级秘籍
大家可能见过诸如金山毒霸,瑞星杀毒,以及五笔输入法等等在系统托盘(即右下角有时间和输入法图标的地
方)在的控制菜单,而在正常的任务栏(即屏幕最下方的“开始”按钮的右边的各式各样)中却不出现按钮的程序,即我
们常说的在后台运行的程序
用 Delphi 制作动态菜单
所谓动态菜单是指菜单项随着程序的操作变化而变化。现在,我们用 Delphi 来实现这一功能,具体步骤如下
工具栏和状态条
为 Windows 窗口标题栏添加新按钮
对于我们熟悉的标准 windows 窗口来讲,标题栏上一般包含有 3 个按钮,即最大化按钮,最小化按钮和关闭按
钮。你想不想在 Windows 的窗口标题栏上添加一个新的自定义按钮
用 Delphi4 实现风 Word97 格的工具栏
用过 Word97 的人对它的工具栏印象很深刻,因为它的风格很“酷”,同样 IE4.0 的工具栏也有类似的风格,Win98
的出现,使这种风格的工具栏得到了推广
如何隐藏和显示 Windows 的任务条
如果隐藏和显示 Windows 的任务条?仅仅调用以下的函数就可以.
其他技巧
Delphi 利用 Windows GDI 实现文字倾斜
在 Delphi 开发环境中,文字的输出效果一般都是头上脚下的"正统"字符,如何输出带有一定倾斜角度的文字以
达到特殊的显示效果呢
Delphi 之三十六计之界面篇
设置状态栏面板对象的 Style 为 OwnerDraw,并在状态栏对象的 DrawPanel 事件中书写以下代码
利用 COM 技术实现外壳扩展的属性页
当用户在资源管理器中调用右键菜单时,会显示一个"属性"菜单项,点击属性菜单项会显示一个属性页,用户可
以获得甚至修改文件信息
制作固定大小的 Form
固定的 Form 像一个对话框,何不试试下面的语句?
C++ Builder
请参照 Delphi 的例子
Delphi
您可以覆写 CreateParams() 这个 TWinControl 的虚拟程序, 改变 form 的 wc.Stylee, 将 WS_SYSMENU 这个旗标解
除, 这样, 就不会有左上角的
SystemMenuBox 了.
至於不能移动.缩小/放大, 可以自已拦下 WM_NCHITTEST, 然後一概回应滑鼠点在视窗
Client 区域, 相信这个视窗就呆呆的不会动了.
详情可以查一下 Win32API Help 的 CreateWindow() 与 WM_NCHITTEST 的说明.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls,
Forms, Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
procedure WMNCHitTest(var Msg: TMessage); message WM_NCHITTEST;
protected
procedure CreateParams(var Params: TCreateParams); override;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
巧用 Delphi 制作溅射屏幕
精心编写的 WINDOWS 程序显示启动注意事项,称之为溅射屏幕(splash screen)。利用一点儿小小的内容,即
可给程序的显示添加不少色彩。
由于工程本身创建程序的主窗口,且启动溅射屏幕必须在创建主窗口之前出现,所以工程文件必须创建自己的
启动屏幕。这意味着用户必须修改源代码来创建工程文件,而这通常在 DELPHI 编程中是不需要的。下面的过程
介绍了溅射屏幕的建立过程。
1、开始一个新的工程。将窗体命名为 MainForm,同时将其 Caption 属性设置为 SplashinDemo。把这个工程
保存在一个目录中,如 C:ProjectsSplashin。把 MainForm 的单元命名为 Main,把工程文件命名为 Splashin。
2、在 MainForm 中插入一个 Button 组件。将 Button 的 Name 属性改为 ExitButton,而将其 Caption 属性改为
Exit。为 ExitButton 的 OnClick 事件创建一个处理器,在过程的 begin 和 end 关键词之间插入 Close;语句。
3、选取 File|New Form 命令,或者单击 New Form 速度按钮。添加一个新的窗体。
4、将这个窗体的 Name 属性改变为 SplashForm,删除其 Caption 属性。此外,将其 BorderStyle 属性改变为
bsnone,同时将 BorderIcons 下的三个子值设置为 False。
5、保存这个工程。当 Delphi 提示读者提供单元文件名时,要确信当前目录为正确的目录。为 SplashForm 的
单元文件名输入 Splash。
6、将 SplashForm 的 Enabled 属性设置为 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 窗体在运行时都是在内存中自动创建的,这要消耗内
存和系统资源。在这样的一个案例中,程序是在运行时创建窗体的,读者应该从自动创建的列表中删除窗体。关闭
ProjectOptions 窗口。
10、接下来,修改工程的源代码,以便在显示主窗口之前显示溅射对话框。这里需要在工程文件中插入语句,以便
与 Splash.dpr 工程文件相匹配。工程源代码如下:
program Project3;
uses
Forms,
main in ‘main.pas‘ {MainForm},
splash in ‘splash.pas‘ {SplashForm};
{$R *.RES}
begin
SplashForm:=TSplashForm.Create(Application);
SplashForm.Show;
SplashForm.Update;
Application.CreateForm(TMainForm,MainForm);
SplashForm.Close;
Application.Run;
end.JJ
11、如果这时编译和运行程序,它就非常快速地显示和去除启动溅射对话框,以至用户可能没机会见到它。为
了强迫对话框保持几秒钟的可见时间,请选取程序的 MainForm。为窗体的 OnCreate 命令创建一个处理器。在关
键词的前面添加一个名为 stopTime 的长整型变量。在 begin 和 end 之间插入两个语句 :一个为对 Windows
GetTickCount 函数的调用。来将 stopTime 设置为 Windows 已在运行的秒数;另一个语句为 while 语句,这个语句另
外延迟 2 秒钟。程序清单如下:
unit main;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;
type
TMainForm = class(TForm)
Exitbutton: TButton;
procedure ExitbuttonClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
MainForm: TMainForm;
implementation
{$R *.DFM}
procedure TMainForm.ExitbuttonClick(Sender: TObject);
begin
close;
end;
procedure TMainForm.FormCreate(Sender: TObject);
var
stopTime:LongInt;
begin
stopTime:=GetTickCount div 1000;
while ((GetTickCount div 1000)<(stopTime+2)) do
Sleep(1);
end;
end.JJ
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 字位
图按文件名序号的顺序分别修改成 0-9 的数字位图,存储后备用。
2.建立一个新的工程,在窗体 Form1 上添加“面板”元件 Panel1,设定“面板”元件的属性:bevelouter=bmRaised;
bvevelInner=bvLowered; BorderWidth=4,设置后在 Panel1 元件上形成一个凸起的边框。在 Panel1 上添加一个“画
板”元件 PaintBox1,将 PaintBox1 的属性 Hight 和 Width 设定为 64 和 318,并适当调整 Panel1 面板的尺寸,使其正好
包围画板元件。
3.在窗体中添加一个“图象列表”元件 ImageList1,在元件上双击鼠标,调出添加图象对话框,将先前制作好的
位图 bitmap_0 至 bitmap_9 按顺序添加进图象列表元件中去,使图象列表中位图的序号与位图本身代表的数字相
同,并注意将位图设定为不透明。
4.转到单元编辑窗口,在 Tform1 的类说明部分添加一个显示 LED 的过程说明语句:
procedure display_LED(number:integer); 。
在 implementation 语句下面添加一个全局变量和对应上面过程说明的过程体。内容如下:
implementation
{$R *.DFM}
var
dis_number:integer;
procedure Tform1.display_LED(number:integer);
var
I:integer;
digital:array[0..5]of integer;
begin
{限制显示位数小于 6 位}
if number>999999 then number:=0;
for I:=0 to 5 do digital[I]:=0;
{分离数字位}
I:=0;
while (number)>0 do
begin
digital[I]:=number mod 10;
number:=number div 10;
I:=I+1;
end;
{显示数字}
for I:=5 downto 0 do
imagelist1.draw(paintbox1.canvas, (5-I)*54,0,digital[I]);
end;
5.在 Form1 窗体的 OnCreated 事件中输入语句:dis_number:=0; ,使显示的初始值为 0。在画板元件的 On
Paint 事件中输入语句:display_LED(dis_number); ,此语句非常重要,它可以在初始启动时显示初值 0,在窗口本身被
覆盖后又恢复到前台时仍可显示正常的数值。至此已完成了显示函数的程序编制。在需要显示数字的程序中调
用 display_LED 函数就能将数字显示在 LED 的仿真显示板上?揪倮 绦蛑幌允 ?位以下的数字。
6.为了测试显示效果,我们在窗体上增加一个编辑框元件 Edit1,和一个按钮元件 button1。用鼠标双击按钮
元件跳转到 Click 事件编辑窗口,输入如下语句:
dis_number:=strTOint(Edit1.text);
display_LED(dis_number);
完成后按 F9 键编译并运行程序。在运行窗口的编辑框中输入 6 位以下的整数数字,点击按钮,编辑框中的数
字就显示在 LED 仿真显示板上。
DELPHI 中自适应表单的实现
我们知道,屏幕分辨率的设置影响着表单布局,假设你的机器上屏幕分辨率是 800*600,而最终要分发应用的机
器分辨率为 640*480,或 1024*768,这样你原先设计的表单在新机器上势必会走样。这时你一定希望表单能自己适
应不同的分辨率,下面就有两种方法可供你参考。
一、根据新的分辨率自动重画表单及控件
先在表单单元的 Interface 部分定义两个常量,表示设计时的屏幕的宽度和高度(以像素为单位)。在表单的
Create 事件中先判断当前分辨率是否与设计分辨率相同,如果不同,调用表单的 SCALE 过程重新能调整表单中控
件的宽度和高度。
Const
Orignwidth=800;
Orignheight=600;
剩余38页未读,继续阅读
资源评论
- llq12122014-05-28不错,可以借鉴一下
- hsfzxjy2013-04-04不错,讲解的很全面,值得一看
好头发用飘影
- 粉丝: 10
- 资源: 8
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功