Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Problema con Mdi y Tile (a esta altura odio MDI) (https://www.clubdelphi.com/foros/showthread.php?t=31540)

marlok 10-05-2006 20:44:28

Problema con Mdi y Tile (a esta altura odio MDI)
 
Holas, espero que puedan darme una mano, tengo un problema con una aplicacion MDI que estoy desarrollando, el problema se da cuando tengo mas de una ventana hija y quiero mostrarlas a ambas en pantalla(Tile) pero paralelas verticalmente, lo que pasa es que la una de las ventanas queda fuera del area visible del documento y me pone Scrolls en la ventana principal.
Ahora bien, lo curioso es que si presiono nuevamente la opcion del menu, las ventanas se acomodan perfectamente y desaparecen las Scrollbars.
En el caso de la division horizontal no tengo problemas, me muestra las ventanas correctamente.

el codigo que uso para hacer esto es:
Código Delphi [-]
procedure TFormMain.TBItem3Click(Sender: TObject);
var i: integer;
begin
  for i:=0 to MDIChildCount-1 do begin
    MDIChildren[i].WindowState := wsNormal;
    MDIChildren[i].top:= 0;
    MDIChildren[i].Left:=0;
    MDIChildren[i].Height:= Height - ToolBar.Height - panel12.Height - 100;
    MDIChildren[i].HorzScrollBar.Range   := ClientWidth {+ 1};
    MDIChildren[i].VertScrollBar.Tracking:= true;
    MDIChildren[i].HorzScrollBar.Tracking:= true;

  end;
  TileMode := tbVertical;
  Tile;

waltergomez 10-05-2006 20:59:47

Proba esto;

Código Delphi [-]
procedure TFormMain.TBItem3Click(Sender: TObject);
begin
  TileMode := tbVertical;
  Tile;
end;

Saludos,

marlok 10-05-2006 21:11:11

es lo primero que probé, pero no me mostraba las scrollbars en las ventanas hijas, y perdia acceso a parte del form, si mal no recuerdo, vos me diste la solucion, pues bien, ahora el problema que se me plantea es que si bien me muestra las scrollbars en las ventanas hijas, tambien me las muestra en la principal, cosa que no quiero, con TbHorizontal. no tengo ese problema, solo con tbVertical y la primera vez que presiono el menu, si vuelvo a presionar las acomoda bien y desaparecen los scrollbars. De lo mas raro, no?.


Nota: ya probé poner Autoscroll en false en el MDI, Visible en false en las scrollbars del Mdi, deshabilitarlas por codigo, pero por alguna razon me las sigue mostrando...

waltergomez 10-05-2006 22:49:11

Esto me parece que funciona;

Código Delphi [-]
  TileMode := tbVertical;
  Tile;
  HorzScrollBar.Range   := ClientWidth;

MDI Saludos,

marlok 11-05-2006 13:49:13

no funciona
 
waltergomez, lo tuyo es impresionante, me estas dando una mano grandisima, pero esta vez no funciona, no se por qué (seguro tiene una explicación) la durante la ejecución de la aplicación, sólo la primera vez que hago Tile me muestra las barras de scroll en el MDI, independientemente de si es horizontal o vertical, de ahi en adelante toda vez que utilice Tile, las ventanas se acomodan perfectamente.
No encuentro una razón aparente, pero voy a seguir investigando, no ha nacido el MDI que me gane, carajo!!!.

saludos.


La franja horaria es GMT +2. Ahora son las 13:18:55.

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