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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 25-07-2006
nemo nemo is offline
Registrado
 
Registrado: jul 2003
Posts: 6
Poder: 0
nemo Va por buen camino
Unhappy Alterar el Toolbar de un Form

Hola Foro!
Mi problema es el siguiente: Cuando maximizo el MainForm de mi programa, éste debe hacerlo pero no debe ocupar toda la pantalla, sino que necesito dejar en la parte inferior, un 10% sin cubrir ... Para todo lo demás, debe lucir como una operación de Maximización-Restauración convencional.
Intenté hacerlo así:

unit UMain;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;

type
TForm1 = class(TForm)
private
{ Private declarations }
public
{ Public declarations }
procedure WMSysCommand(var Msg: TWMSysCommand);
message WM_SYSCOMMAND;
end;

var
Form1: TForm1;

implementation
uses UImpresor;
{$R *.DFM}

procedure TForm1.WMSysCommand;

begin
if (Msg.CmdType = SC_MAXIMIZE) then
begin
Top := 0;
Left := 0;
Height := (Screen.Height) - (Screen.Height div 9);
Width := Screen.Width;
Msg.CmdType := SC_RESTORE;
end;
DefaultHandler(Msg);
end;


end.

Cuando maximizo, obtengo el resultado deseado, pero como no se como implementar el boton de restaurar en la toolbar, y hacer que esa función se simule también.

Podrían ayudarme?
GRACIAS!
Responder Con Cita
  #2  
Antiguo 25-07-2006
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 24
seoane Va por buen camino
Al menos en la versión 7 de delphi los formularios disponen de la propiedad MaxHeight que permite indicar la altura máxima del formulario. Podrás cambiar el tamaño de la ventana, maximizarla, restaurarla, etc. pero la altura nunca sera mayor que la que ahí se indica.

En tu caso la podríamos utilizar en el evento OnCreate
Código Delphi [-]
procedure TForm1.FormCreate(Sender: TObject);
begin
  Constraints.MaxHeight:= (Screen.Height) - (Screen.Height div 9);
end;
Responder Con Cita
  #3  
Antiguo 25-07-2006
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 24
seoane Va por buen camino
De todas formas y volviendo a tu pregunta, si quieres seguir haciéndolo de esa manera deberías de hacer algo como esto:

Código Delphi [-]
procedure TForm1.WMSysCommand;
begin
  inherited;
  if (Msg.CmdType = SC_MAXIMIZE) then
  begin
    Top := 0;
    Left := 0;
    Height := (Screen.Height) - (Screen.Height div 9);
    Width := Screen.Width;
  end;
end;

De esta manera ya podrás maximizar y restaurar sin problemas, aunque si se modifica el tamaño de la ventana manualmente no podrás controlarlo como si lo hace la propiedad MaxHeight.
Responder Con Cita
  #4  
Antiguo 25-07-2006
nemo nemo is offline
Registrado
 
Registrado: jul 2003
Posts: 6
Poder: 0
nemo Va por buen camino
Talking Cool

Wow.... que ingenioso!! Solucionaste mi problema en una sola línea!!!

Muchísimas Gracias!
Responder Con Cita
  #5  
Antiguo 25-07-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.282
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
Hola nemo.
Bienvenido a estos foros, ya que eres relativamente nuevo.

Te recomiendo que leas la Guía de estilo y que utilices TAG's en tus mensajes cuando coloques código Delphi.

NOTA: Mira el código que has añadido tú y el que ha añadido Seoane. ¿Cual se lee mejor?
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
ToolBar fuera del form. afxe Gráficos 2 15-06-2006 18:48:59
Alterar secuencia de arranque de WinXX.. wordaz Varios 0 22-11-2005 03:31:44
Alterar los colores de un TImage Jan_polero Gráficos 4 23-12-2004 17:57:30
Alterar por código una tabla de interbase Manuel Firebird e Interbase 5 29-04-2004 10:37:44
Canvas de tipo Toolbar (Form Builder) santana Oracle 3 27-02-2004 05:52:21


La franja horaria es GMT +2. Ahora son las 09:44:22.


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