Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-02-2015
Avatar de aguml
aguml aguml is offline
Miembro
 
Registrado: may 2013
Posts: 885
Poder: 11
aguml Va por buen camino
Refrescar contenido de un componente

Amigos estoy liado con un componente que lo que hace, entre otras cosas, es crear una vista previa de un diagrama. La cosa no va mal pero estoy teniendo problemas a la hora de cambiar el tamaño de la hoja y que se vea reflejado en la imagen del componente.
He probado con estas opciones:
Código PHP:
   PrnFlow1->Update();
   
PrnFlow1->Refresh();
   
PrnFlow1->Repaint(); 
Pero ninguna me muestra la imagen cambiada.
Descubrí que al hacer zoom si que se refresca correctamente así que probé esto:
Código PHP:
   PrnFlow1->PageSetup();
   
PrnFlow1->Zoom PrnFlow1->Zoom-1;
   
PrnFlow1->Zoom PrnFlow1->Zoom+1
Esto si que funciona y me aparece ya la imagen refrescada pero no creo que sea lo mas correcto y me gustaría hacerlo bien. ¿Como sería la forma correcta para hacer eso?
Responder Con Cita
  #2  
Antiguo 23-02-2015
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
El siguiente código fuerza el repintado de una ventana:
Código PHP:
void ReDrawWindow(HWND hWnd)
{
  
TRect cr;
  ::
GetClientRect(hWnd, &cr);
  
InvalidateRect(hWnd, &crtrue);
  
SendMessage(hWndWM_NCPAINT00);
  
RedrawWindow(hWnd, &cr0RDW_FRAME|RDW_ERASE|RDW_INVALIDATE|RDW_UPDATENOW|RDW_ALLCHILDREN);

Saludos.
Responder Con Cita
  #3  
Antiguo 23-02-2015
Avatar de aguml
aguml aguml is offline
Miembro
 
Registrado: may 2013
Posts: 885
Poder: 11
aguml Va por buen camino
eso tampoco me funciona
Responder Con Cita
  #4  
Antiguo 23-02-2015
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola aguml.

Prueba con:
Código PHP:
  PrnFlow1->Invalidate(); 
Pero como no sabemos de que componente se trata ni que es lo que hace, es como que andamos adivinando...

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #5  
Antiguo 23-02-2015
Avatar de aguml
aguml aguml is offline
Miembro
 
Registrado: may 2013
Posts: 885
Poder: 11
aguml Va por buen camino
invalidate ya lo prové y tampoco me resultó. El componente es el PrnFlow y no tiene soporte. A lo mejor es que hay que hacer varias cosas y como no se pues no funciona.
Responder Con Cita
  #6  
Antiguo 23-02-2015
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola aguml.
Cita:
Empezado por aguml Ver Mensaje
El componente es el PrnFlow y no tiene soporte. ...
Seguimos como antes...

Luego de mucha búsqueda creo haber encontrado un enlace que hace mención al ignoto componente: AddFlow - Summary.

Si fuera el caso sería parte de la librería AddFlow de Lassalle Technologies ¿ Es correcto ?, de no ser así te ruego que nos ayudes un poco publicando algún enlace que mencione al mismo.

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #7  
Antiguo 24-02-2015
Avatar de aguml
aguml aguml is offline
Miembro
 
Registrado: may 2013
Posts: 885
Poder: 11
aguml Va por buen camino
Correcto amigo, ese es. El caso es que la instalacion te viene con un archivo de ayuda donde te explica todo sobre el componente AddFlow pero de PrnFlow lo único que explica es esto:

Cita:
The PRNFLOW method
PrnFlow is an ActiveX control that allows printing AddFlow diagrams. It allows multipage printing, print previewing, margins, header and footer. It can be viewed as an extension of AddFlow. It is a free extension. No support is provided but its source code (written in C++/MFC) is available free of charge for the AddFlow 5 registered users. See PrnFlow for more informations.
Y si vamos adonde apunta el link vemos esto:
Cita:
What is PrnFlow?
PrnFlow is an ActiveX control allowing to print AddFlow diagrams. It allows multipage printing, print previewing, margins, header and footer. It can be viewed as an extension of AddFlow. Note that it is necessary to use AddFlow version 5.2 or higher to be able to use PrnFlow 5.0.
No support is provided for PrnFlow. However, the source code of PrnFlow (written in C++/MFC) is available free of charge for the AddFlow 5 registered users.
The following VB6 code is all you need to do to print your diagram with PrnFlow:
PrnFlow1.DocName = sFileTitle
' Prints a dotted box in each page
PrnFlow1.PageBorder = PageBorderDottedBoxDot
' The header contains the file name (placed at the left)
' and the date (placed at the right)

PrnFlow1.Header = sFileTitle & "||" & Format(Date, "dd-mmm-yyyy")
' The footer contains the page number (placed at the center)
PrnFlow1.Footer = "|- Page <PAGE> -|"
PrnFlow1.ForeColor = vbBlue
' Print the AddFlow diagram
PrnFlow1.PrintDoc

To preview an AddFlow diagram, you may use the previous code, just replacing the call to the PrintDoc method by the call to the PreviewDoc method. The diagram will be previewed in the PrnFlow control window. The user can:
  • switch pages by shift-double clicking on the preview window.
  • zoom in and out by double clicking on the preview window.
No tengo los fuentes ya que no tengo licencia porque cuesta 700€ aproximadamente y el unico inconveniente que tiene al no tener licencia es que muestra un mensajito que te dice que la aplicación fue creada con la version sin licencia y si cierras ese mensaje ya funciona con normalidad. El pero mayor de no tener licencia es no tener los fuentes del componente pero tampoco lo veo muy necesario jejeje.
Responder Con Cita
  #8  
Antiguo 24-02-2015
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola aguml.

Por lo que pude leer en la ayuda, se trataría de un componente al modo del TQuickRep de Quick Report.

¿ En que situación deseas aplicar la actualización del diagrama ? ¿ Antes de la previsualización ?

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #9  
Antiguo 24-02-2015
Avatar de aguml
aguml aguml is offline
Miembro
 
Registrado: may 2013
Posts: 885
Poder: 11
aguml Va por buen camino
a ver si me se explicar. Una vez se está viendo la previsualizacion, tengo un boton que permite configurar el tamaño de la pagina que usaremos para imprimirla y al salir de esa configuracion, se tiene que ver reflejado en pantalla ya que, por ejemplo, las paginas las muestro con bordes y, ademas, si se tiene la propiedad FitToPage a false, el numero de paginas cambia y, si esa propiedad está a true, tambien cambiaria el tamaño del diagrama.
Responder Con Cita
  #10  
Antiguo 24-02-2015
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola aguml.

Ignoro si será igual en este componente, pero en Quick Report no conozco la forma de ver los cambios (como tamaño de hoja u orientación) en la previsualización.

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #11  
Antiguo 24-02-2015
Avatar de aguml
aguml aguml is offline
Miembro
 
Registrado: may 2013
Posts: 885
Poder: 11
aguml Va por buen camino
Esta si se puede ya que con cambiar simplemente el zoom se actualiza. O sea, el truco que estoy usando ahora mismo es decrementar el zoom en 1 y luego lo incremento en 1 con lo que obtengo el previsualizado con el zoom original y ya actualizada la vista.
Responder Con Cita
  #12  
Antiguo 24-02-2015
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola aguml.

Entonces ya lo tenes solucionado, ya que esa acción debe ser casi imperceptible ¿ No ?

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #13  
Antiguo 25-02-2015
Avatar de aguml
aguml aguml is offline
Miembro
 
Registrado: may 2013
Posts: 885
Poder: 11
aguml Va por buen camino
si que se ve como la imagen se encoje y se estira. Por eso pregunto cual es la forma correcta de hacerlo. Lo unico que se me ocurre es correr el ejecutable en un depurador para ver que hace internamente.
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Ver contenido de una propiedad de un componente r1d2m3 OOP 2 16-02-2010 17:20:46
Refrescar BD con 2 pc`s en Red BuRtOn Varios 2 23-10-2008 20:19:59
email yahoo, no muestra contenido..muestra todo menos contenido. sakuragi Linux 5 29-02-2008 18:11:27
Refrescar yhoho Conexión con bases de datos 4 11-02-2008 16:15:30
Refrescar pantalla acrophet Conexión con bases de datos 5 31-05-2007 22:03:49


La franja horaria es GMT +2. Ahora son las 12:54:00.


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