Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros temas > Trucos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Los mejores trucos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 30-06-2006
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.586
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Agregar un item de menu al "System Menu"

Es necesario interceptar el mensaje WMSYSCOMMAND para detectar cuando el usuario selecciona nuestro item de menu. Para ello, en la seccion interface, en la declaracion de la clase del formulario...

Código Delphi [-]
  private
    { Private declarations }
    procedure WMSYSCOMMAND(var Message: TMessage); message WM_SYSCOMMAND;

Y en la seccion implementation...

Código Delphi [-]
var
  oMenuItem: TMenuItem;
  hMenuItemHandle: THandle;

procedure TForm1.WMSYSCOMMAND(var Message: TMessage);
begin
  if (Message.WParam = LongInt(hMenuItemHandle))  then
    ShowMessage('Acerca de...');
  inherited;  // Importante no olvidarse de esta linea.
end;

Para crear el item de menu utilicé un Button. En el evento OnClick...

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var
  hMenuHandle: THandle;
begin
  oMenuItem := TMenuItem.Create(self);
  hMenuItemHandle := oMenuItem.Handle;
  oMenuItem.Caption  := 'Acerca de...';
  hMenuHandle := GetSystemMenu(handle, FALSE);
  { InsertMenu: El segundo parametro (9) es la posicion en el menu }
  { InsertMenu: El quinto parametro (nil) es el Caption del item de menu }
  InsertMenu(hMenuHandle, 9, MF_BYPOSITION + MF_SEPARATOR,
     hMenuItemHandle, nil);  // Linea de separacion
  InsertMenu(hMenuHandle, 10,  MF_BYPOSITION + MF_STRING,
     hMenuItemHandle, PChar(oMenuItem.Caption));  // Item de menu
  DrawMenuBar(handle);
end;
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 21:45:52.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi