UNIDAD I C++BUILDER PROGRAMACION VISUAL ELEMENTOS BASICOS

19.- VENTANAS EN C++Builder


El siguiente problema común, con el manejo de programas en C++Builder, es el de poder crear, controlar y administrar mas de dos formas o ventanas a la vez.

Lo primero que hay que entender para poder resolver este problema es que en C++Builder, cada forma o ventana tiene asociado ciertos recursos, ademas de los componentes que contiene, tambien una serie de recursos especiales, en general, la forma, los recursos y los objetos hijos o componentes, se encuentran relacionados todos ellos, en un archivo especial, llamado “Unit1.cpp”.

Es decir si se crea una segunda forma o ventana,, dicha form2, junto con sus recursos, componentes, etc., se encontraría contenida en el archivo llamado “Unit2.cpp” y así sucesivamente.

Pero recordar y también tomar en cuenta, que los componentes de esta segunda forma, también se simbolizarían y procesaran normalmente, es decir ellos también serán (Edit1, Label5, etc.).

Para crear una segunda forma (form2), solo usar el icono de new Form image49.jpg que se encuentra en la barra de herramientas, recordar además que los otros iconos de dicha barra sirven para estarse intercambiando entre formas y Unit (código fuente).

La segunda forma se construye normalmente, pero queda el problema de donde queda el botón de ordenes, le respuesta es, se pone en la primera forma o ventana principal del programa.

El proceso en este botón es similar a todos los programas anteriores, es decir primero se capturan los datos ( pantalla o ventana de captura),luego se resuelve las operaciones y luego traspasar los datos a los componentes de la segunda forma o ventana.

Para poder realizar este procesos, solo usar ahora un nuevo formato de trabajo con todos los componentes usados, para que ahora incluyan la forma que lo contiene, es decir se usa ahora ;

NOMFORMA→NOMCOMPONENTE→NOMPROPIEDAD

como se observa, procesar los elementos de dos ventanas, es sencillo pero además existen ciertas condiciones que deberán cuidarse para que estos procesos funcionen, estas condiciones son:

Para incluir la

UNIDAD (Unit) de la otra forma o ventana, solo tener seleccionada o al frente la ventana que llama, y usar la orden File, Include Unit, que se encuentra en arriba en la barra de menú, junto con el Run, Compile, etc., al dar esta orden (File Include Unit) sale una lista con todas las

UNIDADes (Unit) que ya se diseñaron, seleccionar la apropiada y ya se incluirá automáticamente en la forma o ventana actual.

Si una ventana o forma referencia dos o mas formas diferentes, entonces usar la orden File, Include Unit, tantas veces como sea necesario.

Este procedimiento permite construir programas con dos o mas ventanas, pero el problema es que todas ellas estarán a la vista del usuario, para resolver este problema, el procedimiento mas sencillo es poner en False la propiedad visible de la forma o ventana que se quiera tener oculta y poner cualquiera de las siguientes instrucciones en el código del programa para que aparezcan o desaparezcan a voluntad;

1. Form2->Visible = true;
2.- Form2->Show(); // similar a la anterior(pero mas corta)
3) Form2->ShowModal(); // no permite accesar la primera ventana, hasta
que se cierra(X) la segunda ventana.

Programación Avanzada permite crear y destruir ventanas y componentes al tiempo de ejecución del programa, pero estos conocimientos, no forman parte del ámbito de este libro.

Si se tienen formas de mas, o formas que ya no se quieren usar o de plano mal construidas se pueden remover del proyecto usando el icono image50.jpg (Remove File from Project) de la barra de herramientas, y de la ventanilla que aparece seleccionar la

UNIDAD que contiene la forma que se quiere eliminar.

TAREAS PROGRAMACION C++BUILDER

1.- REEDITAR TRES CUALESQUIERA DE LOS PROBLEMA YA RESUELTOS PARA QUE INCLUYAN CUANDO MENOS DOS VENTANAS

2.- CONSTRUIR UN PROGRAMA DONDE LA PRIMERA VENTANA CAPTURE LOS DATOS DE UN ALUMNO INCLUYENDO LAS CALIFICACIONES DE 3 MATERIAS DIFERENTES Y UNA SEGUNDA VENTANA DESPLIEGA UN REPORTE DE CALIFICACIONES DEL ALUMNO INCLUYENDO PROMEDIO FINAL.

Politica de Privacidad