 |
Club Builder Foro de C++Builder en español
|
| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
Blas Invitado
|
Publicado: Jue 05 Dic, 2002 3:52 pm Asunto: Canvas sobre el escritorio |
|
|
Utilizo el siguiente código para implementar un cursor con hilos (dos lineas que se cruzan donde esta situado el cursor, similar al de algunos programas de dibujo).
WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
TMouse * Raton;
TPoint P1 = Raton->CursorPos;
TPoint P2=P1;
while (true)
{
HDC Desktop;
TCanvas *Desktopcanvas = new TCanvas;
Desktop = GetWindowDC (GetDesktopWindow());
DesktopCanvas->Handle = Desktop;
if (P1.x!=P2.x || P1.y!=P2.y){
DesktopCanvas->Refresh();
DesktopCanvas->MoveTo(0, P2.y);
DesktopCanvas->LineTo(Screen->Width, P2.y);
DesktopCanvas->MoveTo(P2.x, 0);
DesktopCanvas->LineTo(P2.x, Screen->Height);
}
P2=P1;
P1=Raton->CursorPos;
delete DesktopCanvas;
::DeleteObject(DesktopDC);
}
return 0;
}
El problema es que al mover el ratón no se borran las lineas dibujadas anteriormente, y me va pintando toda la pantalla. No me sirve la funcion Invalidate() porque no estoy pintando sobre un Form ni nada así ¿Cómo puedo solucionalo? . |
|
| Volver arriba |
|
 |
tecno Invitado
|
Publicado: Jue 05 Dic, 2002 4:11 pm Asunto: |
|
|
¡Hola!
Yo hago algo parecido pero para hacer un scroll (texto en movimiento). A mi me funciona prefectamente y la única diferencia con respecto a lo tuyo es que yo, primero pinto y despues hago el Refresh(), mientras que tu primero haces el Refresh() y luego pintas. Mira a ver si es eso.
Salu2.  |
|
| Volver arriba |
|
 |
Blas Invitado
|
Publicado: Jue 05 Dic, 2002 4:45 pm Asunto: |
|
|
| Muchas gracias, pero me sigue haciendo lo mismo. |
|
| Volver arriba |
|
 |
Droman Ens


Registrado: 04 May 2003Mensajes: 34Ubicación: Madrid - SPAIN -
|
Publicado: Mie 26 Nov, 2003 12:54 pm Asunto: |
|
|
Hola.
Seguramente este tema lo tengais olvidado, hace más de 1 año de esto... pero yo lo acabo de ver y me viene estupendamente el código.... pero repintando la pantalla de forma correcta. ¿conseguisteis arreglarlo?
Gracias. _________________ Entonces el bibliotecario miró a los libros enfurecido y les gritó ¡¡ OOOK !! |
|
| Volver arriba |
|
 |
|
|
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
|
© 2002–2026 Club Builder · Funciona con phpBB.
|