Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 20-02-2008
fasthorse fasthorse is offline
Miembro
 
Registrado: ene 2007
Posts: 90
Poder: 18
fasthorse Va por buen camino
Cerrar un TImage

Hola, mirad yo abro una imagen en un formulario a través de un TImage, y cuando quiero cerrarla a vista de usuario, q tengo q poner? yo es pongo por ejemplo si Imagen es el TImage; Imagen->Destroying;... pero así la sigo viendo y no se cómo puedo cerrarla...
AYUDAA POR FAVOR!!
Gracias.
Responder Con Cita
  #2  
Antiguo 20-02-2008
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Prueba con:

Código:
Image1.Picture = null;
Nota: creo que sería así en C++, en Delphi sería:

Código Delphi [-]
Image1.Picture := nil;

Echa un vistazo a este hilo.
__________________
David Esperalta
www.decsoftutils.com

Última edición por dec fecha: 20-02-2008 a las 23:02:15.
Responder Con Cita
  #3  
Antiguo 20-02-2008
fasthorse fasthorse is offline
Miembro
 
Registrado: ene 2007
Posts: 90
Poder: 18
fasthorse Va por buen camino
Q va, tampoco se me cierra, bueno me da error, me dice que el símbolo null es desconocido. Puede ser porque lo tenga que definir antes no? pero como lo defino para que se me cierre luego la imagen?
Gracias
Responder Con Cita
  #4  
Antiguo 21-02-2008
Avatar de cHackAll
[cHackAll] cHackAll is offline
Baneado?
 
Registrado: oct 2006
Posts: 2.159
Poder: 20
cHackAll Va por buen camino
Código:
Image1->Picture->Assign(NULL);
Responder Con Cita
  #5  
Antiguo 21-02-2008
fasthorse fasthorse is offline
Miembro
 
Registrado: ene 2007
Posts: 90
Poder: 18
fasthorse Va por buen camino
Ahora no me da ningun error, pero sigo viendo la imagen después de darle a la opción de cerrar imagen, mirad tengo este código:


void __fastcall TForm1::ToolButton_CerrarImagen(TObject *Sender)
{
int resp;
resp = MessageDlg("¿Desea guardar " + Caption + " primero?",
mtConfirmation, TMsgDlgButtons() << mbYes << mbNo << mbCancel, 0);

if(resp == mrYes)
GuardarImagen1Click(this);
Imagen->Picture->Assign(NULL);
//siendo Imagen un TImage dentro del formulario principal
.....
}

¿qué puedo hacer entonces?
Responder Con Cita
  #6  
Antiguo 21-02-2008
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
¿Que tal si pruebas esto?:
Código:
TPicture *VoidPicture = new TPicture;
Imagen->Picture->Assign(VoidPicture);
Asignas un TPicture vacio....

Saludos.
Responder Con Cita
  #7  
Antiguo 21-02-2008
fasthorse fasthorse is offline
Miembro
 
Registrado: ene 2007
Posts: 90
Poder: 18
fasthorse Va por buen camino
que va tampoco... no se , q cosa más rara,... seguiré probando... y si se os ocurre otra cosa...
Gracias por todo.
Responder Con Cita
  #8  
Antiguo 21-02-2008
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
¿Por que dices que no se cierra?
¿No habras volcado en el Canvas de tu formulario la imagen....?

En ese caso debes repintar el Canvas con una imagen nula....


Saludos.
Responder Con Cita
  #9  
Antiguo 21-02-2008
fasthorse fasthorse is offline
Miembro
 
Registrado: ene 2007
Posts: 90
Poder: 18
fasthorse Va por buen camino
No no, si ahí no utilizo ningún canvas ni nada, simplemente tengo un formulario Form1 y dentro de él tengo definido un Timagen, tb un botón para que, una vez abierta la imagen dentro del Form1 se me cierre, y eso es lo q no consigo. Me entiendes?
Entonces tu crees que tengo q pintar un canvas?? Es que creo que no te he entendido bien.
Un saludo.
Responder Con Cita
  #10  
Antiguo 21-02-2008
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Borrado por repetición

Última edición por escafandra fecha: 22-02-2008 a las 14:13:11.
Responder Con Cita
  #11  
Antiguo 21-02-2008
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Pues no entiendo....
He probado un programita con un TImage y dos botones.
uno hace
Código:
Image1->Picture->Assign(NULL);
y el otro
Código:
TPicture *VoidPicture = new TPicture;
Imagen->Picture->Assign(VoidPicture);
Ambos cierran el TImage, es decir, se borra.

Última edición por escafandra fecha: 26-02-2008 a las 22:36:18.
Responder Con Cita
  #12  
Antiguo 21-02-2008
Avatar de cHackAll
[cHackAll] cHackAll is offline
Baneado?
 
Registrado: oct 2006
Posts: 2.159
Poder: 20
cHackAll Va por buen camino
Muy cierto lo que dices escafandra, pero intenta no repetir tus posts. Hay un boton de "Editar" para realizar los cambios imprevistos, por favor úsalo.
Responder Con Cita
  #13  
Antiguo 21-02-2008
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Cita:
Empezado por cHackAll Ver Mensaje
Muy cierto lo que dices escafandra, pero intenta no repetir tus posts. Hay un boton de "Editar" para realizar los cambios imprevistos, por favor úsalo.
Ha sido un error mientras estaba editando el post para incluir un archivo... Me he dado cuente y no fue intencionado.
Responder Con Cita
  #14  
Antiguo 25-02-2008
fasthorse fasthorse is offline
Miembro
 
Registrado: ene 2007
Posts: 90
Poder: 18
fasthorse Va por buen camino
Si, a ti te sale, pero a mi no. Ainsss y no se por qué...lo tengo que abrir de alguna manera especial?? yo lo abro así:
if(cdAbrir->Execute()){
try{
Imagen->Picture->LoadFromFile(cdAbrir->FileName);
Caption= "Imagen-(" + cdAbrir->FileName + ")";
} catch(...) {
ShowMessage("No es posible cargar el archivo");
}
}
Vamos no se si tendrá que ver, pero no me sale... bueno seguiré probando, porque por algo será que no sale...
Muchas gracias.
Responder Con Cita
  #15  
Antiguo 26-02-2008
ucanneo ucanneo is offline
Miembro
 
Registrado: feb 2008
Posts: 30
Poder: 0
ucanneo Va por buen camino
Bueno... pues puedes probar solo con ocultarla

Código:
Image1->Hide();

ya luego cambairla solo cuando sea necesario, que igual no le pasa nada y es más recomendable ya que es más rápid si estas haciendo un programa con muchos gráficos (y por supuesto tienes una pc decente jejeje XD)

_______________________________________________________________


Pero si lo que quieres es "liberar" la imagen pues lo tienes que hacer desde el bitmap ya que este es el único que la puede liberar y dicho sea de paso "quitarla de la pantalla" (por cierto esto lo he sacado de la ayuda del builder y lo he probado)

Código:
Image1->Picture->Bitmap->FreeImage();

si lo haces desde otra propiedad esmuy posible que te de error




saludos
Responder Con Cita
  #16  
Antiguo 26-02-2008
fasthorse fasthorse is offline
Miembro
 
Registrado: ene 2007
Posts: 90
Poder: 18
fasthorse Va por buen camino
Oleee, ya lo conseguí!!! menos mal, creí que nunca me iba a funcionar!!!
Muchas gracias a tod@s por vuestra ayuda.
Saludos.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Copiar Bitmap de un TImage a otro TImage quinqui Gráficos 2 24-01-2008 15:22:30
Cerrar conexión al cerrar formulario arantzal Conexión con bases de datos 5 09-08-2006 12:43:52
RGB en un TImage Drake OOP 2 17-07-2006 15:07:05
como combinar 2 Timage en un tercer Timage JefeNet Gráficos 10 02-09-2004 16:51:35
TImage MasterOzzy Varios 9 07-05-2004 00:07:47


La franja horaria es GMT +2. Ahora son las 15:43: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
Copyright 1996-2007 Club Delphi