Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

dibujar y borrar sobre un bmp

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: dibujar y borrar sobre un bmp Responder citando

Hola!
Tengo un bmp cargado en un TImage y quiero que al mover el raton sobre esa imagen aparezcan dos lineas, una vertical y otra horizontal que se cruzan en la posición del puntero del ratón y se muevan con él (sin modificar el bitmap de debajo, claro!). ¿alguna sugerencia?. Gracias por adelantado.
Lluvia
Volver arriba
Mensaje    Asunto: dibujar y borrar sobre un bmp Responder citando

Hola Lluvia:
Coloca la propiedad Cursor del TImage en crCross en vez de CrDefault.
Saludos,
Volver arriba
Mensaje    Asunto: dibujar y borrar sobre un bmp Responder citando

Hola Lluvia:

La manera más simple que se me ocurre es dibujar sobre el mismo TImage usando XOR.

- Mete el siguiente código en el constructor del Form para evitar el parpadeo:

  DoubleBuffered = true;

(esto nos ahorra mucho código, pero como nada es perfecto solo existe en BCB5/6 y posiblemente en la 4 también)

- Y en el evento OnMouseMove del TImage lo siguiente:

static int oldX=-1, oldY=-1;

  Image1->Canvas->Pen->Mode = pmXor;
  Image1->Canvas->Pen->Color = clWhite;
  Image1->Canvas->Pen->Width = 1;

  Image1->Canvas->MoveTo(oldX, 0);
  Image1->Canvas->LineTo(oldX, Image1->Height);
  Image1->Canvas->MoveTo(0, oldY);
  Image1->Canvas->LineTo(Image1->Width, oldY);

  Image1->Canvas->MoveTo(oldX=X, 0);
  Image1->Canvas->LineTo(X, Image1->Height);
  Image1->Canvas->MoveTo(0, oldY=Y);
  Image1->Canvas->LineTo(Image1->Width, Y);

Saludos:
_Leo

Volver arriba
Mensaje    Asunto: dibujar y borrar sobre un bmp Responder citando

Estupendo!!!
Gracias Leo, el truqui estaba en el pmXor.
Gracias también a José Manuel, pero lo que quería era lo que me respondió Leo.

Volver arriba
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.