為什么Windows的系統菜單總是一成不變?這個例子教你如何往系統菜單添加一個菜單項如about或information等。 這個例子將一個菜單項加到系統菜單中去。我們需要兩個東西,一個是項名,這可以是如何整數;我們還需要一個程序去收取Windows對確認點擊我們創建的菜單項的信息。
Unit OhYeah;
Interface
Uses SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls, Forms, Dialogs, Menus;
Type TForm1 = Class (TForm) Procedure FormCreate (Sender : TObject); Private {Private declarations} Public {Public declarations} Procedure WinMsg (Var Msg : TMsg; Var Handled : Boolean); Procedure DoWhatEever;
End;
Var Form1 : TForm1;
Implementation
{$R *.DFM}
Const ItemID = 99; // 這個ID number代表你的菜單項,可以是任何值。
Procedure Tform1.WinMsg (Var Msg : TMsg; Var Handled : Boolean);
Begin If Msg.Message = WM_SYSCOMMAND Then If Msg.WParam = ItemID Then DoWhatEver;
End;
Procedure TForm1.FormCreate (Sender : TObject);
Begin Application.OnMessage := WinMsg; AppendMenu (GetSystemMenu (Form1.Handle, False), MF_SEPARATOR, 0, ''); AppendMenu (GetSystemMenu (Form1.Handle, False), MF_BYPOSITION, ItemID, '&My menu'); AppendMenu (GetSystemMenu (Application.Handle, False), MF_SEPARATOR, 0, ''); AppendMenu (GetSystemMenu (Application.Handle, False), MF_BYPOSITION, ItemID,'&My menu minimized');
End;
Procedure TForm1.DoWhatEver;
Begin Exit; //你可以添加任何你想加的東西到這里 End;
End.
|