Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Estilo de WIN XP vs Delphi (https://www.clubdelphi.com/foros/showthread.php?t=22453)

amadis 15-06-2005 21:33:04

Estilo de WIN XP vs Delphi
 
Amigos!

Estoy haciendo hace un tiempo en delphi 7 y la he probado una aplicaicon recien en un XP con el entorno grafico lindo de xp.
Todo funciona muy bien Excepto por lo siguiente.

Como vemos todos los botones nuevos de XP son mas grandes que los clasicos al igual que las barras de estado etc etc.

El problema que me surge es que la barra de tareas de windows me tapa la barra de estado de mi programa al ser mas gorda que la clasica.

Y sobre la barra de titulo de mi programa de ve un HUECO por donde se ve el escritorio.

Estuve leyendo por ahí que eso se solucionaba con el objeto XPManifiest

Pero la ayuda de delphi no me explicó mucho y en el inspector de objetos no hay mucho que ver.


alguien me puede orientar?


Saludos y gracias

mazinger 16-06-2005 00:26:02

El XPManifest lo puedes incluir en la ficha principal de tu programa para que utilice los estilos propios del XP. Si te soy totalmente sincero, aún no sé en qué varia el programa en sí, pero supongo que lo hará compatible con los controles propios de XP

amadis 16-06-2005 02:53:08

XP Manifiest
 
Lo he agregado y he probado varias cosas antes de postear en el foro pero no resultó.

Desde el principio sin XPmanifiest tuve el problema ese con el XPman lo mismo.

Luego probando con unos parametros del XPman pero nada resulta.

Cuando el XP esta en vista clasica se ve todo bien pero cuando se pone el XP en vista MODERNA aparece ese defasaje con la barra de estados y la barra de titulo.

Les agradeceria si al menos alguien me dice que con sus programas ha pasado lo mismo.

Y volviendo al XP manifiest. sin haberlo puesto al XP maniifiest ejecutando el programa en un XP con estilo moderno se ve todo con el estilo nuevo de XP.

Así que no entiendo como funciona!

Desde ya gracias y saludos

Lepe 16-06-2005 08:38:11

Los síntomas son clásicos de una ventana MDI cuando la vas a maximizar, que no toma el tamaño correcto del escritorio. Ya ha salido en los foros, y la respuesta es esta:

Código Delphi [-]
procedure TFrmMdi.ApplicationEvents1SettingChange(Sender: TObject;
  Flag: Integer; const Section: String; var Result: Integer);
var
  R: TRect;
begin
  // para arreglar el maximimizar de la ventana
  // cuando esta maximizada y se cambia la barra  de tareas de sitio.
  if (flag = SPI_SETWORKAREA) and (frmmdi.WindowState = wsmaximized) then
  begin
    SystemParametersInfo(SPI_GETWORKAREA, 0, @R, 0);
    SetBounds(R.Left, R.Top, R.Right - R.Left, R.Bottom - R.Top);
    Result := 0;
  end;

end;

Como puedes apreciar, necesitas un Applications Events, y usar el evento Settings Changing.

Un saludo


La franja horaria es GMT +2. Ahora son las 13:25: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