Colocar un Dialogo debajo de una casilla en Xbrowse

Colocar un Dialogo debajo de una casilla en Xbrowse

Postby jnavas » Sun Oct 18, 2015 4:32 pm

Saludos
Cordiales
Necesito ubicar una caja de dialogo justo debajo de la casilla (Linea, Columna) focalizada en Xbrowse
User avatar
jnavas
 
Posts: 479
Joined: Wed Nov 16, 2005 12:03 pm
Location: Caracas - Venezuela

Re: Colocar un Dialogo debajo de una casilla en Xbrowse

Postby Antonio Linares » Sun Oct 18, 2015 6:56 pm

Juan,

En el Método ShowBtnList( nKey ) CLASS TXBrwColumn (en xbrowse.prg) se calculan las coordenadas de una determinada celda:

Code: Select all  Expand view
  nRow     := ( ::oBrw:nRowSel * ::oBrw:nRowHeight ) + ::oBrw:HeaderHeight() - 1
   nCol     := ::nDisplayCol - 2
 


Ahora tendrias que pasar esas coordenadas a valores de la pantalla completa:

local aPoint := { nRow, nCol }

aPoint = ClientToScreen( oBrowse:hWnd, aPoint )

Y desde la claúsula ON INIT de tu diálogo, posicionarlo en esas coordenadas:

Code: Select all  Expand view
     ACTIVATE DIALOG oDlg ;
         ON INIT oDlg:SetPos( aPoint[ 1 ], aPoint[ 2 ] )
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42077
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Colocar un Dialogo debajo de una casilla en Xbrowse

Postby jnavas » Mon Oct 19, 2015 4:09 am

Antonio
Gracias, tenia este codigo copiado de la clase txbrwcol

LOCAL oDlg
LOCAL oCol := oBrw:aCols[oBrw:nColSel]
LOCAL nRow := ( ( oBrw:nRowSel - 1 ) * oBrw:nRowHeight ) + oBrw:HeaderHeight() + 2
LOCAL nCol := oCol:nDisplayCol + 3
LOCAL nWidth := oCol:nWidth - 4
LOCAL nHeight := oCol:oBrw:nRowHeight - 4


DEFINE DIALOG oDlg OF oBrw:oWnd
ACTIVATE DIALOG oDlg ON INIT (oDlg:Move(nRow, nCol, nWidth+200, nHeight+100, .t. ))
User avatar
jnavas
 
Posts: 479
Joined: Wed Nov 16, 2005 12:03 pm
Location: Caracas - Venezuela


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 31 guests