Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > API de Windows
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 15-12-2006
Avatar de gluglu
[gluglu] gluglu is offline
Miembro Premium
 
Registrado: sep 2004
Ubicación: Málaga - España
Posts: 1.455
Poder: 21
gluglu Va por buen camino
SysMenu y/u otras opciones de la Barra de Título

Hola de nuevo compañeros del foro !

Estoy indagando acerca de modificar el SysMenu de un form, u otras opciones de tratar la barra de título de un form.

He conseguido añadir mi opción al Sysmenu que se despliega cuando se pincha en el icono del Form que aparece en la barra de título, o bien cuando (en mi caso particular por ser un Form MDI), cuando se minimiza el form y aparece abajo en el contenedor MDI.

Para ello utilizo el siguiente código
Código Delphi [-]
const
  SC_MyMenuItem1 = WM_USER + 1;
 
...
 
procedure TMain.FormCreate(Sender: TObject);
const
  sMyMenuCaption1 = 'Mi opción de Menu';
var
  SysMenu : HMenu;
begin
  {Get system menu}
  SysMenu := GetSystemMenu(Handle, FALSE) ;
  {Add a seperator bar to main form-form1}
  AppendMenu(SysMenu, MF_SEPARATOR, 0, '') ;
  {add our menu}
  AppendMenu(SysMenu, MF_STRING, SC_MyMenuItem1, sMyMenuCaption1) ;
  ...
end;

Quiero intentar conseguir dos opciones más. Una ponerle un icono a mi opción del Sysmenu. Para ello he encontrado la referencia a :
Cita:
SetMenuItemBitmaps Function

The SetMenuItemBitmaps function associates the specified bitmap with a menu item. Whether the menu item is selected or clear, the system displays the appropriate bitmap next to the menu item.

Syntax


BOOL SetMenuItemBitmaps( HMENU hMenu, UINT uPosition, UINT uFlags, HBITMAP hBitmapUnchecked, HBITMAP hBitmapChecked);
Parameters
hMenu [in] Handle to the menu containing the item to receive new check-mark bitmaps. uPosition [in] Specifies the menu item to be changed, as determined by the uFlags parameter. uFlags [in] Specifies how the uPosition parameter is interpreted. The uFlags parameter must be one of the following values. MF_BYCOMMAND Indicates that uPosition gives the identifier of the menu item. If neither MF_BYCOMMAND nor MF_BYPOSITION is specified, MF_BYCOMMAND is the default flag. MF_BYPOSITION Indicates that uPosition gives the zero-based relative position of the menu item.hBitmapUnchecked [in] Handle to the bitmap displayed when the menu item is not selected. hBitmapChecked [in] Handle to the bitmap displayed when the menu item is selected.
Lo que no sé es como obtener el Handle de un Bitmap cualquiera que quiera insertar. (Utilizo Delphi 2006 VCL.Net y a mi entender no me permite utilizar punteros).

También me gustaría añadir una combinación de teclas 'ShortCut' a mi opción del SysMenu.

Y por último preguntar si existe la opción de interceptar de alguna manera la pulsación del botón derecho del ratón sobre la barra de título, que también me serviría a falta de modificación del SysMenu.

Muchas gracias por vuestra ayuda.

Edito : Quiero de nuevo especificar que el evento que quiero capturar con respecto al botón derecho del ratón sobre la barra de título es en un form MDIChild. He visto que sobre el Form principal se aplica lo mismo que lo explicado para el SysMenu.
__________________
Piensa siempre en positivo !

Última edición por gluglu fecha: 15-12-2006 a las 17:56:14.
Responder Con Cita
 



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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
URL en la barra de titulo??? Jonnathan Varios 7 30-01-2006 20:43:24
Deshabilitar boton de la barra de título abracadabra OOP 2 21-12-2005 23:51:46
Label en la Barra de Titulo... nicolasdom Varios 1 04-10-2004 23:46:31
personalizar titlebar(barra de titulo) vtdeleon Gráficos 1 18-05-2004 15:26:35
personalizar titlebar(barra de titulo) vtdeleon OOP 0 16-05-2004 00:35:45


La franja horaria es GMT +2. Ahora son las 11:17:31.


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