Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > API de Windows
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 21-09-2005
jorodgar jorodgar is offline
Miembro
 
Registrado: abr 2005
Posts: 76
Poder: 20
jorodgar Va por buen camino
GetUpdateRec

Leyendo la API de windows encontre que con la función GetUpdateRec se obtiene sólo el área de imagen a ser actualizada. Alguien puede mostrarme un ejemplo de uso


Gracias.
Responder Con Cita
  #2  
Antiguo 21-09-2005
jorodgar jorodgar is offline
Miembro
 
Registrado: abr 2005
Posts: 76
Poder: 20
jorodgar Va por buen camino
Mi idea es saber cual es la región de pantalla que cambia para poder enviarlo a un servidor y con ello hacer un control remoto. Gracias.
Responder Con Cita
  #3  
Antiguo 21-09-2005
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
Fíjate si esto puede ayudarte: http://www.clubdelphi.com/foros/showthread.php?t=23774

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #4  
Antiguo 21-09-2005
jorodgar jorodgar is offline
Miembro
 
Registrado: abr 2005
Posts: 76
Poder: 20
jorodgar Va por buen camino
ya habia leido ese hilo antes de poner el mio. Mi duda es la misma que se plantea alli. Y no se como llamar a esa función ni como recoger valores. Sigo investigando..
Responder Con Cita
  #5  
Antiguo 21-09-2005
Avatar de jmariano
jmariano jmariano is offline
Miembro
 
Registrado: jul 2005
Posts: 376
Poder: 19
jmariano Va por buen camino
Por lo que he leído y por los ejemplos que he visto por ahí, decirte que la función se utiliza dentro del evento WM_PAINT y sirve, como comentaste, para recuperar el área que necesita ser actualizada, además de si es necesario actualizarla.

Código Delphi [-]
procedure TMiControl.WMPAINT(Var Msg: TWMPaint);
var
  R: TRect;
begin
  { La siguiente sentencia comprueba si un área necesita ser actualizada
    y, si es así, almacenará en la variable 'R' las coordenadas de dicho área } 
  if GetUpdateRect(Handle, R, False) then 
  begin
    // Operación de dibujo para el control
  end;
end;

(El último parámetro de "GetUpdateRect" sirve para indicar si el fondo del área ha de ser borrado. Si es "False" el fondo es conservado)

Espero haberte aclarado un poquito!

Saludos!

Última edición por jmariano fecha: 21-09-2005 a las 17:15:23.
Responder Con Cita
  #6  
Antiguo 21-09-2005
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
Cita:
Empezado por jorodgar
ya habia leido ese hilo antes de poner el mio. Mi duda es la misma que se plantea alli. Y no se como llamar a esa función ni como recoger valores.
Yo me refería precisamente mi comentario en ese hilo, para obtener los mensajes de repintado.

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #7  
Antiguo 21-09-2005
jorodgar jorodgar is offline
Miembro
 
Registrado: abr 2005
Posts: 76
Poder: 20
jorodgar Va por buen camino
Funciona bien pero para la ventana del formulario y lo que deseo es que me dijera si es posible el trozo de pantalla que ha cambiado.
Lo he intentado capturando el handle de la pantalla pero no funciona.
Sigo investigando. Os pongo el código :

Código Delphi [-]
 procedure TForm1.WMPAINT(Var Msg: TWMPaint);
 var
   R: TRect;
   p1,p2:TPoint;
   c: TCanvas;
   dc:HDC;
 begin
   {get the screen dc}
   dc := GetDc(0);
   if (dc = 0) then exit;
   if GetUpdateRect(dc, R, True) then
   begin
     if IsRectEmpty(R) then exit;
     p1:=R.TopLeft;
     p2:=R.BottomRight;
     Edit5.text:=IntTostr(p1.x);
     Edit6.text:=IntTostr(p1.y);
     Edit8.text:=IntTostr(p2.x);
     Edit9.text:=IntTostr(p2.y);
   end;
 end;

Última edición por dec fecha: 22-09-2005 a las 01:59:27. Razón: ¡¡Encerrad el código fuente entre las etiquetas [DELPHI] ... [/DELPHI]!!
Responder Con Cita
  #8  
Antiguo 21-09-2005
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
Cita:
Empezado por jorodgar
Funciona bien pero para la ventana del formulario y lo que deseo es que me dijera si es posible el trozo de pantalla que ha cambiado.
Lo he intentado capturando el handle de la pantalla pero no funciona.
No va a funcionar... haceme caso, probá lo que sugerí en ese hilo.

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #9  
Antiguo 21-09-2005
jorodgar jorodgar is offline
Miembro
 
Registrado: abr 2005
Posts: 76
Poder: 20
jorodgar Va por buen camino
Entonces me temo que me constara más de lo que tenia pensado.
Gracias por tu ayuda.
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


La franja horaria es GMT +2. Ahora son las 20:24:39.


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