No se si hay una forma mas sencilla, pero esto tiene que funcionar:
Código:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;
type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
protected
procedure WndProc(var Message: TMessage); override;
private
public
end;
var
Form1: TForm1;
Const
MI_MENU = 100;
implementation
{$R *.DFM}
procedure TForm1.FormCreate(Sender: TObject);
var
hSysMnu: HMENU;
begin
{ Averigua el Handle del System Menu de la Ventana }
hSysMnu := GetSystemMenu(Handle, False);
{ Agrega un Separador }
AppendMenu(hSysMnu, MF_SEPARATOR, 0, '');
{ Agrega la Opción }
AppendMenu(hSysMnu, MF_BYPOSITION, MI_MENU, 'Mi &Opción');
end;
procedure TForm1.WndProc(var Message: TMessage);
begin
if (Message.Msg = WM_SYSCOMMAND) and (Message.wParam = MI_MENU) then
ShowMessage('Ha seleccionado mi Opción')
else
inherited;
end;
end.
Saludos!