![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
|||
|
|||
|
Hola!!
Hombre los TShapes solo me ofrecen dibujar cuadrados,rectagulos y no sé que más... El tema esta en que yo he creado el laberinto a mano, creando los frames 1 a 1, lo que pasa q asi es una forma poco elegante y además las dimensiones del laberinto se hace en tiempo de ejecucion. Ademas quiero que cada casilla tenga un valor, y eso con TShape como lo haria?? Muchas Gracias por la ayuda! Edito: He probado a crear TShape de forma dinamica, tampoco puedo!!! El constructor me pide un TComponent igual que el TFrame.. Lo he creado asi: Código:
TShape *aux=new TShape(this??);//Sigo sin saber que poner aux->Shape=stRectangle; aux->Top=250; aux->Height=320; aux->Visible=true; SAludos Última edición por bochan fecha: 14-04-2008 a las 22:23:46. |
|
#2
|
||||
|
||||
|
Tanto para TShape como TFrame o cualquier componente, debes inicializarlo con un objeto TComponent. TComponent es clase madre de todos los controles. Por lo tanto un puntero al formulario donde están tun controles creados dinámicamente te sirve para inicializar. No existe constructor por defecto.
Código:
TShape *aux=new TShape(this); // ó aux = new TFrame(this); InsertControl(aux); //inserta el control en un TWinControl (el formulario Form1...) aux->Shape=stRectangle; aux->Top=250; aux->Height=320; aux->Visible=true; Saludos. |
|
#3
|
|||
|
|||
|
Hola!!
Pos ya parece que va tirando, lo único que me faltaba era poner el InsertControl(aux);... muchas gracias por la ayuda. Si tengo más dudas ya las posteare. Gracias por vuestra atencion |
|
#4
|
|||
|
|||
|
Hola de nuevo!
Ya tengo creado el laberinto, al final he usado frames porque con los shape no lo veia muy claro XD. Ahora me surje una duda. Los frames son de una clase padre Frame2 (en mi caso), todo lo que creo en el padre lo hereda los hijos, ahora bien si creo una variable en el padre cada hijo tendra su variable propia, hasta ahi bien pero si quiero una variable global que pueden modificar todos los hijos, como lo puedo hacer??? Gracias |
|
#5
|
||||
|
||||
|
Repasa las variables static de la clase. Estas sólo se pueden modificar por funciones miembros también declaradas como static. Se inicializan fuera del constructor, en código externo a la clase. se caracterizan por tener un valor común en todos los objetos de esa clase.
Otra posibilidad es crear una variable static en una función miembro. Será estable para todas las llamadas a esa función, vengan del objeto que vengan. La última posibilidad es una variable global que no pertenezca a la clase y a la que se acceda desde cualquier parte del código. Lo ortodoxo es una variable static de la clase. Saludos. |
|
#6
|
|||
|
|||
|
Hola!!!
Gracias por la ayuda, al final he creado una variable static en la funcion que acceden todos los hijos Saludos |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Dibujar en DBImage | Caral | Varios | 3 | 23-11-2007 07:46:21 |
| Cambiar propiedad de componente del formulario padre al cerrar el formulario hijo | jzginez | OOP | 5 | 22-06-2007 21:40:51 |
| Dibujar lineas | mcnudi | Impresión | 3 | 09-11-2006 13:52:54 |
| Dibujar línea | dicatek | Gráficos | 8 | 29-07-2006 16:47:26 |
| pasar datos de un formulario vista a cualquier formulario | @-Soft | OOP | 2 | 28-09-2004 21:56:01 |
|