![]() |
Ayuda con un Wizard
Estoy haciendo un Wizard de configuración pero me lo pidieron en Delphi, pero tengo una duda, tengo cada opción en formas separadas y me gustaría ver si hay una forma en que pueda hacer todo dentro de un mismo form, que vaya cambiando su diseño durante el tiempo de ejecución.
Les agradezco de antemano toda su ayuda :) |
Puedes poner paneles e ir ocultando y mostrando unos u otros, segun convenga.
También un TPageControl con distintas pestañas TTabSheet. |
Lo que apunta Casimiro me parece adecuado. Lo que deberías hacer es empotrar o incrustar los form que ya tenés. Eso simplemente se hace asignando la propiedad Parent, podés asignar cualquier descendiente de TWinControl. El valor que asignes en el Parent se convierte en la "superficie" en donde se dibuja el control.
Probá a poner un panel y luego crea un form y asignale: form.Parent := panel |
Si estás a tiempo de arreglarlo, yo recomiendo lo que cometa Casimiro. Crea un único form, con un PageControl y en cada página mueve lo que tienes en cada uno de los formularios.
Si no estás a tiempo de cambiar eso (por lo que sea) la forma de hacerlo TODO en un form, es lo que comenta Agustín. Creas igualmente un form con un TPanel y un par de botones (ANTERIOR, SIGUIENTE) y en ejecución vas "Dockando" los formularios al panel a medida que se van pulsando los botones. |
Buenas,
Las JVCL tienen un componente JvWizard que las veces que lo usé funcionó adecuadamente. Claro que hace años que no lo utilizo. |
Ok, muchas gracias a todos, intentare con todas las opciones que me dieron y ya les comento cual fue la mas adecuada y la forma en que lo realice.
Gracias de nuevo |
Que tal, paso a preguntarles de nuevo, estoy haciendo pruebas con Frames, tengo un solo form y todas las "ventanas" siguientes están en frames que se mandaran llamar desde el Form principal, creen que sea una opción factible?
Gracias por sus respuestas. |
Cita:
Para hacerlo más cómodo, si no quieres crearlos en ejecución, puedes utilizar un TPageControl en diseño y colocar cada frame en una página. Puedes ocultar las pestañas del control (la parte superior) al ejecutar. De esta forma tal vez te sea más cómodo à la horade diseñar. |
Hola a todos, sigo trabajando con la idea de los Frames, pero ahora tengo otra duda (realmente no hace mucho que empece a trabajar con delphi), tengo varios procedimientos en una unidad (ya que se usaran en varias partes del programa), pero cuando trato de llamarlos en el frame, me marca que no esta declarado, saben a que se debe esto?
Ya que agrego la unidad en los uses del frame y mando llamar el procedimiento que necesito dentro del evento OnClick del botón que lo usará. Gracias por toda su ayuda. |
Los frames aparecen en la zona de arriba, donde están el menú, paleta de componentes, etc. y los insertas eligiéndolos.
|
Cita:
Agrego el Unit a los uses, y el procedimiento que se va a utilizar lo llamo en el evento onclick del boton que lo ejecutara, pero al hacer eso en el frame me marca un error de Undeclared identifier: 'BtnCancelAction'. Asi que no se si estoy haciendo algo mal |
Hola,
Cita:
1º Si quieres ejecutar desde un formulario un procedimiento, función o método que se declara e implementa en un IFrame a su vez situado en dicho formulario, entonces debes asegurarte de declarar dicho procedimiento, función o método de modo que sea accesible desde fuera del IFrame. Dependiendo de si se trata de un procedimiento, función o método, la declaración habrá de hacerse de un modo u otro: especifica de qué se trata pues. 2º Si el procedimiento o función en cuestión se encuentran en una unidad distinta del formulario y del IFrame, si antes podías acceder desde el IFrame, entonces dicho procedimiento o función están ya declarados "públicos", de modo que no deberías tener problemas para hacer uso del mismo desde cualquier otro lugar, como, por ejemplo, desde un formulario que contenga (o no) IFrame. 3º La última frase resaltada me descoloca un poco, puesto que dices: "Lo estoy tratando de llamar de igualmanera que lo hago en un Form." Aquí se aplicaría el punto anterior o bien me equivoco... ¿Dónde tienes declarado e implementado el procedimiento o función en cuestión? ¿En un formulario? ¿En el IFrame? ¿En otra unidad? Disculpa tanta pregunta, pero, no veo otra forma de intentar ayudar. |
La franja horaria es GMT +2. Ahora son las 22:00:38. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi