PDA

Ver la Versión Completa : Cascade() sin TMainMenu


Diego827
19-10-2011, 01:45:05
Hola Amigos:

Por primera vez estoy trabajando con Skins y MDI; me he topado con una serie de problemas de los cuales en todos he salido airoso.

Les comento: cree un MDIForm y en el coloqué un GroupBox en la parte de arriba y unos botones muy gráficos (SpeedButton) etc. Entre ellos llamo por supuesto a las MDIChild. Pero cuando convoco a un metodo Cascade(); o Tile() no funcionan; no se si es porque no tengo un TMainMenu pero rápidamente cree otro Proyecto y coloqué un TMAinMenu y un boton para ventanas hijas y asi cree una tras otra y ahi si tienen efecto estas funciones. No quisiera tener que recurrir a TMainMenu. Hay otra forma de hacer funcionar estas funciones?

Si pudieran ayudarme les agradeceria muchísimo; cada vez me sorprendo mas de lo buena que es esta comunidad (no estoy "culebreando" :p).

ecfisa
19-10-2011, 02:17:45
Hola Diego.

Ni la falta de un TMainMenu ni la inclusión de un TGroupBox están generando ese comportamiento. Con seguridad es otra cosa... (tal vez los skins :rolleyes:)

Para salir de dudas, realizá una simple prueba: Crea un MDIForm y dos o tres forms MDIChilds, en el MDIForm poné un TGroupBox, tres SpeedButton y asigna así sus eventos OnClick.

/* SpeedButton cascada */
void __fastcall TForm1::spCascadeClick(TObject *Sender)
{
Cascade();
}

/* SpeedButton mosaico horizontal */
void __fastcall TForm1::spTileHorClick(TObject *Sender)
{
TileMode = tbHorizontal;
Tile();
}

/* SpeedButton mosaico vertical */
void __fastcall TForm1::spTileVerClick(TObject *Sender)
{
TileMode = tbVertical;
Tile();
}

Podrás comprobar que funcionan correctamente.

Un saludo.