Delphi-Quellcode:
type
TForm1 =
class(TForm)
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
procedure WndProc(
var msg: TMessage);
override;
end;
var
Form1 : TForm1;
implementation
{$R *.dfm}
const
MY_MENU_ID = 999;
procedure TForm1.Button1Click(Sender: TObject);
var
hMenu : THandle;
begin
hMenu := GetSystemMenu(
Handle, False);
if hMenu <> 0
then
begin
if not DeleteMenu(hMenu, 6, MF_BYPOSITION)
then
ShowMessage(SysErrorMessage(GetLastError));
DrawMenuBar(hMenu);
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
var
hMenu : THandle;
begin
hMenu := GetSystemMenu(
Handle, False);
if hMenu <> 0
then
begin
if not InsertMenu(hMenu, 6, MF_BYPOSITION, MY_MENU_ID, '
Mein Menüitem')
then
ShowMessage(SysErrorMessage(GetLastError));
DrawMenuBar(hMenu);
end;
end;
procedure TForm1.WndProc(
var msg: TMessage);
begin
inherited;
case msg.Msg
of
WM_SYSCOMMAND:
begin
if hiword(msg.WParam) = 0
then
begin
case loword(msg.WParam)
of
MY_MENU_ID: ShowMessage('
Buuuh!');
end;
end;
end;
end;
end;
Schaltfläche eins entfernt den Menüpunkt "Schließen" und Schaltfläche zwei fügt einen Menüpunkt hinzu, den man sogar anklicken kann und es passiert was.