this slowpoke moves

Create Window Menu Entry

{ Public-Deklarationen }
    procedure WndProc(var msg: TMessage); override;
    
const
  MY_MENU_ID   = 999;
  
//

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;

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;

Keine Kommentare:

Kommentar veröffentlichen

Beliebte Posts

Translate