摘要载入中… 请稍等…
内容载入中… 请稍等…
| ◎→ | 本类最新 |
| 动画关闭窗口的示例 给MDI主窗口加背景 根据位图做出漂亮的不规则FORM 利用Delphi实现支持窗体的自定义 利用Delphi实现支持窗体的自定义 软件启动画面中启动状态的显示 实现可缩放的无标题窗体 使MDI窗口有一个背景图象或使它平 拖动无标题栏窗体的方法 用Delphi 控制窗体的大小 |
|
| ◎→ | 相关资源 |
| VB窗体文章 HTML入门教程 JavaScript入门教程 VbScript入门教程 ASP.net入门教程 C语言入门教程 Deiphi实例教程 Deiphi窗体文章 Deiphi数据库编程 Deiphi网络编程 |
|
通常在应用程序的主窗体中,利用鼠标左键点击左上角的图标,会弹出一个菜单,称之为“系统菜单”,在窗体中并没有系统菜单对应的组件,所以有时需要定制系统菜单时就比较麻烦。可以通过下面的步骤实现:
1) 在系统菜单上添加所需的菜单项。
2) 为新添加的菜单项定义O n C l i c k 事件的处理过程。
在该例程中,在系统菜单中添加了一个“前端显示( A )”菜单项,通过该菜单项,可以使窗体始终显示在最前端或为普通窗体模式。具体实现过程如下:
1) 通过菜单File | New Application 创建一个新的工程。
2) 添加窗体F o r m 1 的O n C r e a t e 事件的处理过程如下:
procedure TForm1.FormCreate(Sender: TO b j e c t ) ;
b e g i n
// 设置系统菜单
A p p e n d M e n u ( G e t S y s t e m M e n u ( H a n d l e , F a l s e ) , M F _ S E PA R ATOR,0,' ');
A p p e n d M e n u ( G e t S y s t e m M e n u ( H a n d l e , F a l s e ) , M F _ S T R I N G , 2 0 0 ,
'前端显示( & A ) ' ) ;
3) 在文件U n i t 1 . p a s 的u s e s 语句中增加如下代码:
u s e s
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
M e n u s ;
. . .
4) 在T F o r m 1 的类型定义中,添加系统菜单中新建菜单项的O n C l i c k 事件的处理过程的声明:
t y p e
TForm1 = class(TForm)
procedure FormCreate(Sender: TO b j e c t ) ;
procedure SystemMenuCommand(var Msg:TWMMENUSELECT);
message WM_SysCommand;
p r i v a t e
5) 手工添加系统菜单中新建菜单项的O n C l i c k 事件的处理过程如下:
procedure TForm1.SystemMenuCommand(var Msg:TWMMENUSELECT);
b e g i n
if Msg.IDItem = 200 then
b e g i n
if Form1.FormStyle = fsNormal then
b e g i n
// 将窗体设置为总在前端显示
Form1.FormStyle := fsStayOnTo p ;
// 重新设置系统菜单
A p p e n d M e n u ( G e t S y s t e m M e n u ( H a n d l e , F a l s e ) , M F _ S E PA R ATOR,0,' ');
A p p e n d M e n u ( G e t S y s t e m M e n u ( H a n d l e , F a l s e ) , M F _ S T R I N G , 2 0 0 , '前端显示( & A ) ' ) ;
// 在新添加的菜单项前增加一个选中标志
M o d i f y M e n u ( G e t S y s t e m M e n u ( H a n d l e , F a l s e ) , 2 0 0 , M F _ C H E C K E D , 2 0 0 ,
'前端显示( & A ) ' ) ;
e n d
e l s e
b e g i n
// 将窗体设置为普通模式
Form1.FormStyle := fsNormal;
// 重新设置系统菜单
A p p e n d M e n u ( G e t S y s t e m M e n u ( H a n d l e , F a l s e ) , M F _ S E PA R ATOR,0,' ');
A p p e n d M e n u ( G e t S y s t e m M e n u ( H a n d l e , F a l s e ) , M F _ S T R I N G , 2 0 0 , '前端显示(&A)');
e n d ;
e n d ;
i n h e r i t e d ;
e n d ;
| 链 接 |
| 芯友网版权所有 1999-2006 | 著作权与商标声明 | 法律声明 | 服务条款 | 隐私声明 | 联系我们 |