Crear ventana en una determinada posición

Crear ventana en una determinada posición

Postby AngelSalom » Mon Apr 27, 2020 11:30 am

Buenas amigos, tengo un diálogo creado y al pulsar un botón quiero que se cree UNA VENTANA en la misma posición.
He montado este pequeño ejemplo :

Code: Select all  Expand view  RUN
#include "fivewin.ch"

Static oMain, oDlgGet, oBtn, oWndPop

function main()
   
   define dialog oMain title "Principal" FROM 0,0 TO 50,160
   activate dialog oMain CENTERED NOMODAL

   define dialog oDlgGet title "Test Autoget" size 600, 50 pixel COLOR CLR_WHITE, CLR_BLUE OF oMain
   @ 0.5,20 BUTTON oBtn PROMPT "&Crear" OF odlgGet ACTION MuestraPop()

   activate dialog oDlgGet centered

return nil

Function Muestrapop()
   Local oRect

      // Prueba 1
      oRect:=oDlgGet:GetRect()
      nTop:= oRect:nTop
      nLeft:= oRect:nLeft

      // Prueba 2
      aRect := GetWndRect( oDlgGet:hWnd )
      nTop := aRect[ 1 ]
      nLeft := aRect[ 2 ]
   
      // Coincide
      DEFINE DIALOG oWndPop FROM nTop, nLeft TO nTop+300, nLeft+500 OF oMain PIXEL
      ACTIVATE DIALOG oWndPop

      // No coincide
      DEFINE WINDOW oWndPop FROM nTop, nLeft TO nTop+300, nLeft+500 OF oMain PIXEL
      ACTIVATE WINDOW oWndPop
   
REturn (nil)  

 


Si se trata de un diálogo respeta las posiciones, pero si lo que se crea es una ventana (que es lo que necesito) ésta aparece desplazada abajo y a la derecha de la posición que debería.

¿Alguna explicación?

Gracias!
Angel Salom
Visionwin Software - https://www.visionwin.com
------------------------------------------------------------
fwh 19.05 - harbour 3.2 - bcc 7.4
User avatar
AngelSalom
 
Posts: 727
Joined: Fri Oct 07, 2005 7:38 am
Location: Benicarló (Castellón ) - España

Re: Crear ventana en una determinada posición

Postby JESUS MARIN » Tue Apr 28, 2020 10:26 am

Buenos días Ángel.
Saludos desde La Eliana (Valencia)

Como veo que nadie te contesta, me atrevo a comentarte....
¿tienes en tu versión, en cuanto a la creación de los diálogos, la opción TRUEPIXEL ?

Los diálogos creo recordar que utilizan coordenadas distintas.

Por si sirve de ayuda .

Saludos
Jesús Marín
JESUS MARIN
 
Posts: 176
Joined: Wed Jan 02, 2019 8:36 am

Re: Crear ventana en una determinada posición

Postby AngelSalom » Tue Apr 28, 2020 11:05 am

Gracias Jesús, al final lo solucioné de otro modo :
Code: Select all  Expand view  RUN
 
oRectGet    :=oGet:GetRect()
oRectDialogo:=oWnd:GetRect()

nTop :=(oRectGet:nBottom-oRectDialogo:nTop)
nLeft:=(oRectGet:nLeft-oRectDialogo:nLeft)


Quería montar una ventana justo debajo del objeto oGet, con esta operación obtengo la posición del diálogo y la posición del get y obtengo la posición relativa del get dentro del diálogo.

Son mejoras que estoy haciendo a la clase tAutoget.
Angel Salom
Visionwin Software - https://www.visionwin.com
------------------------------------------------------------
fwh 19.05 - harbour 3.2 - bcc 7.4
User avatar
AngelSalom
 
Posts: 727
Joined: Fri Oct 07, 2005 7:38 am
Location: Benicarló (Castellón ) - España

Re: Crear ventana en una determinada posición

Postby José Luis Sánchez » Wed Apr 29, 2020 9:23 am

Angel, creo que la clase Autoget de Daniel García te hace esto de manera automática.

Saludos,
User avatar
José Luis Sánchez
 
Posts: 556
Joined: Thu Oct 13, 2005 9:23 am
Location: Novelda - Alicante - España

Re: Crear ventana en una determinada posición

Postby AngelSalom » Wed Apr 29, 2020 9:37 am

José Luis, precisamente esa clase es la que he adaptado para que muestre la TGetlist() en el diálogo padre del AUTOGET en el que estoy editando.
Imagina el escenario: un diálogo en el que el Autoget está "rozando" el borde inferior. Al desplegarse la lista no se ve nada ya que no cabe en el diálogo contenedor (en otro post pregunté si sería posible obtener el mismo funcionamiento que un combobox que se muestra sin límites), lo que he hecho es que si se le indica un diálogo padre, la tGetList se crea allí, con estupendos resultados.
Angel Salom
Visionwin Software - https://www.visionwin.com
------------------------------------------------------------
fwh 19.05 - harbour 3.2 - bcc 7.4
User avatar
AngelSalom
 
Posts: 727
Joined: Fri Oct 07, 2005 7:38 am
Location: Benicarló (Castellón ) - España


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 47 guests