Einzelnen Beitrag anzeigen

Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Systemmenü eines Progs ändern

  Alt 10. Jan 2005, 21:51
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.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat