⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 00205.htm

📁 提供了Delphi编程的几个巧妙用法
💻 HTM
字号:
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>1</title>
</head>

<body bgcolor="#000000" text="#FFFFFF" link="#FFFFFF">

<p align="left"><span style="BACKGROUND-COLOR: #ff0000"><a href="00205.zip">源程序下载</a></span><b><span style="background-color: #000080"><br>
</span>  
<span style="background-color: #000000"><br>
</span>  
<span style="background-color: #000080"><a name="1"></a>1:生成非矩形窗口<br>
</span>  
</b><span style="background-color: #000000"><br>
</span>  利用win32 API函数setwindowrgn可以将窗口定义为任何形状,以下是将窗口定义为园角矩形的例子:<br>    
	procedure TForm1.FormCreate(Sender: TObject);<br>    
	var&nbsp;<br>   
&nbsp;&nbsp;&nbsp; hr :thandle;<br>    
	begin<br>    
&nbsp;&nbsp;&nbsp; hr:=createroundrectrgn(0,0,width,height,20,20);//定义园角矩形(win API函数)<br>    
&nbsp;&nbsp;&nbsp; setwindowrgn(handle,hr,true); //设置园角窗口<br>    
	end;<br>    
  为了使该窗口更好,应在onResize事件处理程序放相同的代码。&nbsp;<br>
<span style="background-color: #000000">
<br>
</span><span style="background-color: #000080"><b>
<a name="2"></a>
2:Delphi中TApplication类的巧用&nbsp;<br>
</b></span><br>
  在Delphi中TApplication是一个有着十分重要作用的类。TApplication类是用于描述Delphi编制的应用程序的一个类。通过对这个类的灵活应用可以编制许多有特点的程序。。&nbsp;<br>
<br>
  1) 检测当前Windows程序是否被激活:&nbsp;<br>   
  TApplication类有一个属性——Active,这个属性就可以描述当前运行的程序是否被激活,成为Windows的焦点。检测的代码如下:&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If    
Application.Active=False then ShowMessage(’当前窗口没有被激活’);&nbsp;<br>   
<br>   
  2) 取得当前程序的名称:&nbsp;<br>   
  TApplication类的EXEName属性可以返回这个可执行程序的完整文件名(包含路径)。实现的代码如下所示:    
ShowMessage(Application.ExeName);&nbsp;<br>   
<br>   
  3) 改变程序极小化时的标题&nbsp;<br>   
  Tapplication类的Title属性。这个属性决定了程序最小化时的标题,而窗口中标题栏的标题是由Form的Caption属性来决定的。其代码如下:&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;    
Form1.Caption:=’ 窗口的标题’;&nbsp;<br>   
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;    
Application.Title:=’程序的标题’;&nbsp;<br>   
<br>   
  4) 指明程序的主窗口&nbsp;<br>   
  Windows系统中的界面都是窗口,但一般来讲有一个主窗口。Tapplication的MainForm属性就可以返回程序的主窗口。&nbsp;<br>
<br>
  5) 显示消息框&nbsp;<br>   
  Delphi可以生成一个含有中文显示的按钮,Tapplication的MessageBox函数了。这个函数的原形如下:  function MessageBox(Text, Caption: Char; Flags: Longint): Integer&nbsp;<br>   
	例如:Application.MessageBox('需要存盘吗?','提示信息',MB_OKCANCEL);&nbsp;<br>   
  这个函数返回的是一个整型的数值,而这个数值被系统指定了具体的含义,比如:按下“确定”按钮时返回的值是“1”,按钮的意义及系统中对其定义的值:<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;    
IDOK     1&nbsp;<br>   
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;    
IDCANCEL  2&nbsp;<br>   
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;    
IDABORT 3&nbsp;<br>   
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;    
IDRETRY 4&nbsp;<br>   
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;    
IDIGNORE     5&nbsp;<br>   
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;    
IDYES 6&nbsp;<br>   
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;    
IDNO     7&nbsp;<br>   
<br>   
  6) 控制窗口的尺寸<br>    
  一般可以用窗口手柄来调整窗口的尺寸,但是也可以用Application的事件来调整。实现的方法是用以下两个过程:&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;    
Application.Minimized;&nbsp;<br>   
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;    
Application.Restore;&nbsp;<br>   
  前一个过程用来将程序的主窗口最小化,而后一个过程用来将最小化的窗口恢复到原来的尺寸。&nbsp;<br>
<br>
  7) 链接联机帮助文件&nbsp;<br>   
  Application的CurrentHelpFile属性能够指定当前程序所用的联机帮助文件的文件名。这个属性经常与另一个方法联合在一起使用。举例如下:&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Application.HelpFile := '联机帮助文件名';&nbsp;<br>   
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;    
Application.HelpJump('联机帮助文件的主题’)&nbsp;<br>   
  通过这一命令组合,我们就能使系统弹出一个显示某主题的联机帮助文件。&nbsp;<br>
<br>
<br>
  8) 在程序运行时动态地创建窗口&nbsp;<br>   
  窗口是在设计时加入到工程项目中的,但是有时也需要我们在程序运行时动态地加入窗口,这就要用到Application 的CreateForm过程,举例如下:&nbsp;<br>   
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Form3:Tform3; //声明窗口类&nbsp;<br>   
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Application.CreateForm(TForm3, Form3); //创建窗口&nbsp;<br>   
<br>   
  9) 结束程序&nbsp;<br>   
  虽然我们可以用关闭主窗口的方法来关闭一个程序,但是更好的办法是用Application的Terminate过程。它能够起到更彻底地关闭程序的效果。&nbsp;<br>
<br>
  10) Destroy 属性.&nbsp;<br>   
  虽然Delphi提供了这一属性,但是并不提倡使用它,如果要终结程序就要调用Terminate过程,而Destroy过程一般是用来在程序发生悬挂时来退出程序时才调用,有些类似Windows中的结束任务功能。它不仅能关闭程序实例本身,而且还能释放程序所占用的资源,能够达到将程序彻底清除出系统的目的。&nbsp;<br>
<br>
<span style="background-color: #000080"><b><a name="3"></a>3:在程序中使用自定义的鼠标</b></span>&nbsp; 
</p> 
 
<p><br>
第一步:<br>
  用 Image Editor 编辑一个鼠游标(Fild | New | Resource File)新建一个 CURSOR1  的 CURSOR,   设定好它的 Hot Spot (Cursor | Set Hot Spot),存档时注意要和建立的 Project 存在同一个目录,在本例我们先假定为 MyCursor.res<br>  
<br>  
二. 程序部分<br>  
  定义一个常数 crMyCursor,   这个常数您必须设成大於零的任何整数,以  
LoadCursor()   函数将<br>  
自订的鼠标资源load 进来,以下为源代码:&nbsp;<br> 
unit Unit1;<br>  
interface<br>  
uses<br>  
&nbsp;&nbsp;&nbsp; SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls, Forms, Dialogs;<br>  
const<br>  
&nbsp;&nbsp;&nbsp; crMyCursor = 1;  // 宣告一个常数<br>  
type TForm1 = class(TForm)<br> 
    procedure FormCreate(Sender: TObject);<br> 
    private<br> 
&nbsp;&nbsp;&nbsp; { Private declarations }<br>  
    public<br>  
&nbsp;&nbsp;&nbsp; { Public declarations }<br>  
end;<br>  
var<br>  
&nbsp;&nbsp;&nbsp; Form1: TForm1;<br>  
&nbsp;&nbsp;&nbsp; {$R mycursor.res}  //这行 $R 不可少, 否则自订的鼠游标就出不来了<br>  
implementation<br>  
{$R *.DFM}<br> 
<br> 
procedure TForm1.Button1Click(Sender: TObject);<br> 
begin<br> 
&nbsp;&nbsp;&nbsp; //下面 将鼠标资源 load 进来<br>  
&nbsp;&nbsp;&nbsp; Screen.Cursors[crMyCursor] := LoadCursor (hInstance,'CURSOR1');<br> 
&nbsp;&nbsp;&nbsp; Cursor := crMyCursor;  //指定 form1 的 cursor 为自订鼠标<br>  
end;<br>  
<br>  
end.&nbsp;<br> 
<br>  
<span style="background-color: #FF0000"><a href="00205.zip">源程序下载</a></span>  
</p> 
  
</body>  
  
</html>  

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -