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 27-10-2006
Cheerpipe Cheerpipe is offline
Miembro
 
Registrado: oct 2006
Posts: 46
Poder: 0
Cheerpipe Va por buen camino
Corrección del menu de sistema (en aplicaciones delphi)

Bueno, hace tiempo que vengo leyendo temas en el foro pero no habia tenido la oportunidad de participar.

He estado buscando una forma de corregir el menu de la barra de tareas de las aplicacioens delphi (agregar tamaño, mover y maximizar) sin encontrar forma sencilla. (si es que estuviese posteado en el foro, pido disculpas).

arme este unit que soluciona el problema

Código Delphi [-]
unit FixSystemMenu;

interface
uses ComObj, windows, forms;

type
  ITaskbarList = interface
    ['{56FDF342-FD6D-11d0-958A-006097C9A090}']
       function HrInit: HResult; stdcall;
       function AddTab(hwnd: Cardinal): HResult; stdcall;
       function DeleteTab(hwnd: Cardinal): HResult; stdcall;
       function ActivateTab(hwnd: Cardinal): HResult; stdcall;
       function SetActiveAlt(hwnd: Cardinal): HResult; stdcall;
  end;

procedure SetFixSystemMenu();

implementation

procedure SetFixSystemMenu();
const
  CLSID_TaskBarList: TGUID ='{56FDF344-FD6D-11D0-958A-006097C9A090}';
  IID_ITaskBarList: TGUID ='{56FDF342-FD6D-11D0-958A-006097C9A090}';

var
  FTaskbarList: ITaskBarList;
begin
  if (Application.ActiveFormHandle <> 0) then
  begin
     FTaskbarList := CreateComObject(CLSID_TaskbarList) as ITaskbarList;
     FTaskbarList.HrInit;
     FTaskbarList.HrInit;
     FTaskbarList.AddTab(Application.ActiveFormHandle);
  end;

end;
INITIALIZATION
  SetWindowLong(Application.Handle, GWL_EXSTYLE, GetWindowLong(Application.Handle,GWL_EXSTYLE) or WS_EX_TOOLWINDOW);
end.


basta con hacerle un include desde el formulario principal del proyecto, y en el oncreate del formulario principal llamar la funcion SetFixSystemMenu.

Por otro lado, estoy intentando crear ventanas MDI hijas en estado maximizado, hasta el momento no obtengo el efecto exacto que deseo, por lo que si hay alguien mas intereraso, me contacta y trabajamos junto en ese problema.

PD: no puse en la parte de trucos porque prefiero que se pruebe primero.
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
Una pequeña corrección Faust Varios 1 07-07-2006 07:10:39
Ayuda en correccion de ejercicios sql fede7 SQL 3 21-06-2005 12:46:44
Desplegar por código el menú de sistema de una ventana Jan_polero API de Windows 7 06-05-2005 12:35:25


La franja horaria es GMT +2. Ahora son las 12:19:15.


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