Agregar elementos al menú del sistema


Cómo agregar elementos al menú del sistema en la parte superior izquierda del formulario.

tipo
TForm1 = class(TForm)
...
procedimiento FormCreate(Sender: TObject)
privada
procedimiento WMSYSCOMMAND(var message: TWMSYSCOMMAND) mensaje WM_SYSCOMMAND

...

procedure TForm1.FormCreate(Sender: TObject)
const
MenuCaption = ' & Acerca de...'
var
i: Integer
SystemMenu: HMenu
MENUITEMINFO: TMENUITEMINFO
begin
SystemMenu := GetSystemMenu(Mango, False)
i := GetMenuItemCount(SystemMenu)
FillChar(MENUITEMINFO, SizeOf(MENUITEMINFO), 0)
{ no usar SizeOf(MENUITEMINFO) porque es necesaria para
Windows 95 }
MENUITEMINFO.cbSize := 44
// Separador
MENUITEMINFO.fMask := MIIM_TYPE
MENUITEMINFO.fType := MFT_SEPARATOR
InsertMenuItem(SystemMenu, yo, la VERDAD, MENUITEMINFO)
// Añadir ahora
MENUITEMINFO.fMask := MIIM_TYPE o MIIM_ID
MENUITEMINFO.fType := MFT_STRING
MENUITEMINFO.dwTypeData := PChar(MenuCaption)
MENUITEMINFO.cch := Largo(MenuCaption)
MENUITEMINFO.wID := 1101 // ID debe ser < $F000
InsertMenuItem(SystemMenu, i 1, TRUE, MENUITEMINFO)
fin

procedure TForm1.WMSYSCOMMAND(var message: TWMSYSCOMMAND)
begin
heredado
en caso de mensaje.CmdType de
1101: ShowMessage('Acerca de mí')
fin
fin

El código anterior no agregar un elemento de menú para el menú de sistema de la
botón de la aplicación en la barra de tareas (cuando lo haga). Es
porque delphi crea una ventana oculta. Usted tiene que hacer el trabajo
dos veces para añadir el mismo menú de la ventana. Por desgracia,
el objeto de recibir el mensaje WM_SYSCOMMAND es que la ventana :

tipo
TForm1 = class(TForm)
procedimiento FormCreate(Sender: TObject)
privada
procedimiento OnAppMessage(var Msg: TMsg var Handled: Boolean)
fin

...

procedure TForm1.FormCreate(Sender: TObject)
const
MenuCaption = ' & Acerca de...'
var
i: Integer
SystemMenu: HMenu
MENUITEMINFO: TMENUITEMINFO
begin
Aplicación.OnMessage := OnAppMessage
SystemMenu := GetSystemMenu(de Aplicación.Manejar, False)
// el mismo código antes de
...
fin

procedure TForm1.OnAppMessage(var Msg: TMsg var Handled: Boolean)
begin
if (Msg.mensaje = WM_SYSCOMMAND) y (Msg.wParam = 1101), a continuación,
begin
ShowMessage('Acerca de mí')
Manejar := True
fin
fin









Agregar elementos al menu del sistema


Agregar elementos al menu del sistema : Multi-millones de consejos para hacer su vida mas facil.


Como agregar elementos al menu del sistema en la parte superior izquierda del formulario.

tipo
TForm1 = class(TForm)
...
procedimiento FormCreate(Sender: TObject)
privada
procedimiento WMSYSCOMMAND(var message: TWMSYSCOMMAND) mensaje WM_SYSCOMMAND

...

procedure TForm1.FormCreate(Sender: TObject)
const
MenuCaption = ' & Acerca de...'
var
i: Integer
SystemMenu: HMenu
MENUITEMINFO: TMENUITEMINFO
begin
SystemMenu := GetSystemMenu(Mango, False)
i := GetMenuItemCount(SystemMenu)
FillChar(MENUITEMINFO, SizeOf(MENUITEMINFO), 0)
{ no usar SizeOf(MENUITEMINFO) porque es necesaria para
Windows 95 }
MENUITEMINFO.cbSize := 44
// Separador
MENUITEMINFO.fMask := MIIM_TYPE
MENUITEMINFO.fType := MFT_SEPARATOR
InsertMenuItem(SystemMenu, yo, la VERDAD, MENUITEMINFO)
// Añadir ahora
MENUITEMINFO.fMask := MIIM_TYPE o MIIM_ID
MENUITEMINFO.fType := MFT_STRING
MENUITEMINFO.dwTypeData := PChar(MenuCaption)
MENUITEMINFO.cch := Largo(MenuCaption)
MENUITEMINFO.wID := 1101 // ID debe ser < $F000
InsertMenuItem(SystemMenu, i 1, TRUE, MENUITEMINFO)
fin

procedure TForm1.WMSYSCOMMAND(var message: TWMSYSCOMMAND)
begin
heredado
en caso de mensaje.CmdType de
1101: ShowMessage('Acerca de mi')
fin
fin

El codigo anterior no agregar un elemento de menu para el menu de sistema de la
boton de la aplicacion en la barra de tareas (cuando lo haga). Es
porque delphi crea una ventana oculta. Usted tiene que hacer el trabajo
dos veces para añadir el mismo menu de la ventana. Por desgracia,
el objeto de recibir el mensaje WM_SYSCOMMAND es que la ventana :

tipo
TForm1 = class(TForm)
procedimiento FormCreate(Sender: TObject)
privada
procedimiento OnAppMessage(var Msg: TMsg var Handled: Boolean)
fin

...

procedure TForm1.FormCreate(Sender: TObject)
const
MenuCaption = ' & Acerca de...'
var
i: Integer
SystemMenu: HMenu
MENUITEMINFO: TMENUITEMINFO
begin
Aplicacion.OnMessage := OnAppMessage
SystemMenu := GetSystemMenu(de Aplicacion.Manejar, False)
// el mismo codigo antes de
...
fin

procedure TForm1.OnAppMessage(var Msg: TMsg var Handled: Boolean)
begin
if (Msg.mensaje = WM_SYSCOMMAND) y (Msg.wParam = 1101), a continuacion,
begin
ShowMessage('Acerca de mi')
Manejar := True
fin
fin


Agregar elementos al menú del sistema

Agregar elementos al menú del sistema : Multi-millones de consejos para hacer su vida más fácil.
Recommander aux amis
  • gplus
  • pinterest

Comentario

Dejar un comentario

Clasificación