fasthorse
14-05-2008, 20:16:55
hola, quiero hacer que el usuario pueda escribir en una imagen en tiempo de ejecución el texto que quiera y no uno definido. La imagen está abierta y contenida en un TImage, entonces mi idea era poner un Tedit y que el usuario escriba en él y luego recuperar el contenido del mismo para que a través de la propiedad Canvas->TextOut, lo escriba en la imagen.
Bien pues me lo escribe en la imagen pero a la segunda vez que pulso el botón y el control TEdit que lo pongo a no visible nunca desaparece, creo q es porque sigue teniendo el control... pero no se como quitárselo, os pongo el código de lo que tengo... resumiendo mi idea es q el usuario escriba en el Tedit y luego recuperar el contenido, escribirlo en la imagen y hacer desaparecer el TEdit.
void __fastcall TForm1::AadirTexto1Click(TObject *Sender)//texto en el menu
{
int c=0;
Edit1->Visible=true;
c=1;
String s=Edit1->Text;
if(c==1 ){
Imagen->Canvas->Font->Size = 40;
Imagen->Canvas->Font->Color = clWhite;
Imagen->Canvas->Brush->Style = bsClear;
Imagen->Canvas->TextOut(10, 10, s);
Edit1->Enabled=false;
Edit1->Visible=false;
}
}
Saludos y gracias.
Bien pues me lo escribe en la imagen pero a la segunda vez que pulso el botón y el control TEdit que lo pongo a no visible nunca desaparece, creo q es porque sigue teniendo el control... pero no se como quitárselo, os pongo el código de lo que tengo... resumiendo mi idea es q el usuario escriba en el Tedit y luego recuperar el contenido, escribirlo en la imagen y hacer desaparecer el TEdit.
void __fastcall TForm1::AadirTexto1Click(TObject *Sender)//texto en el menu
{
int c=0;
Edit1->Visible=true;
c=1;
String s=Edit1->Text;
if(c==1 ){
Imagen->Canvas->Font->Size = 40;
Imagen->Canvas->Font->Color = clWhite;
Imagen->Canvas->Brush->Style = bsClear;
Imagen->Canvas->TextOut(10, 10, s);
Edit1->Enabled=false;
Edit1->Visible=false;
}
}
Saludos y gracias.