![]() |
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. |
Hola,
Prueba con: Código:
Image1.Picture = null;
Echa un vistazo a este hilo. |
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 |
Código:
Image1->Picture->Assign(NULL); |
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? |
¿Que tal si pruebas esto?:
Código:
TPicture *VoidPicture = new TPicture; Saludos. |
que va tampoco... no se , q cosa más rara,... seguiré probando... y si se os ocurre otra cosa...
Gracias por todo. |
¿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. |
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. |
Borrado por repetición
|
Pues no entiendo....
He probado un programita con un TImage y dos botones. uno hace Código:
Image1->Picture->Assign(NULL); Código:
TPicture *VoidPicture = new TPicture; |
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.
|
Cita:
|
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. |
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 |
Oleee, ya lo conseguí!!! menos mal, creí que nunca me iba a funcionar!!!
Muchas gracias a tod@s por vuestra ayuda. Saludos. |
La franja horaria es GMT +2. Ahora son las 20:38:36. |
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