当前位置:首页 > 网络编程 > 软件语言 > DELPHI > 定制系统菜单

定制系统菜单

点击次数:53 次 发布日期:2008-11-09 08:37:40 作者:源代码网
源代码网推荐
广告载入中
通常在应用程序的主窗体中,利用鼠标左键点击左上角的图标,会弹出一个菜单,称之为“系统菜单”,在窗体中并没有系统菜单对应的组件,所以有时需要定制系统菜单时就比较麻烦。可以通过下面的步骤实现:
源代码网推荐 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 ;


源代码网推荐

源代码网供稿.
网友评论 (0)
会员中心
网络编程
本站推荐
网络编程之精华