Versão atual:

Redimensionamento de objeto

Estou desenhando uma tela onde faço uso do FWLayer() com duas Window em uma única linha e coluna, dentro da primeira Window, coloco nele um TSimpleEditor, no entanto gostaria de redimensiona-lo quando eu minimizo a segunda Windows para que o TSimpleEditor sempre tenha o tamanho total da Primeira Window Segue o fonte que estou usando no teste:



#include "TOTVS.CH"

// Alinhamento do método addInLayout
#define LAYOUT_ALIGN_LEFT     1
#define LAYOUT_ALIGN_RIGHT    2
#define LAYOUT_ALIGN_HCENTER  4
#define LAYOUT_ALIGN_TOP      32
#define LAYOUT_ALIGN_BOTTOM   64
#define LAYOUT_ALIGN_VCENTER  128

// Alinhamento para preenchimento dos componentes no TLinearLayout
#define LAYOUT_LINEAR_L2R 0 // LEFT TO RIGHT
#define LAYOUT_LINEAR_R2L 1 // RIGHT TO LEFT
#define LAYOUT_LINEAR_T2B 2 // TOP TO BOTTOM
#define LAYOUT_LINEAR_B2T 3 // BOTTOM TO TOP

function u_fEstAlias()
    Local oDlg

    oDlg:= TDialog():New(,,600,1000,'Consulta SQL',,,,,CLR_BLACK,CLR_WHITE,,,.T.,,,,,,)

    aTam  := FwGetDialogSize(oDlg)
    oDlg:lCentered  := .T.
    oDlg:lMaximized := .T.

    oDlg:nTop       := aTam[1]
    oDlg:nLeft      := aTam[2]
    oDlg:nBottom    := aTam[3]
    oDlg:nRight     := aTam[4]

    oDlg:nClientHeight  := aTam[3]
    oDlg:nClientWidth   := aTam[4]

    oDlg:Refresh()

    //Componentes do cabeçalho
    oTBar       := TBar():New( oDlg, 25, 32, .T.,,,, .T.)
    oBBrNovo    := TBtnBmp2():New( 00, 00, 35, 25, 'TK_NOVO',,,, { || Alert( 'Novo' ) }     , oTBar, 'Nova Consulta'    ,, .F., .F. )
    oBBrAbrir   := TBtnBmp2():New( 00, 00, 35, 25, 'OPEN'   ,,,, { || Alert( 'Abrir' ) }    , oTBar, 'Abrir Consulta'   ,, .F., .F. )
    oBBrSalvar  := TBtnBmp2():New( 00, 00, 35, 25, 'SALVAR' ,,,, { || Alert( 'Salvar' ) }   , oTBar, 'Salvar Consulta'  ,, .F., .F. )
    oBBrPlay    := TBtnBmp2():New( 00, 00, 35, 25, 'NEXT'   ,,,, { || Alert( 'Executar' ) } , oTBar, 'Executar Consulta',, .F., .F. )

    oLyrSQL := FWLayer():new()
    oLyrSQL:init(oDlg,.F.)

    oLyrSQL:addLine('lCONSULTA',100,.F.)

    oLyrSQL:addCollumn ('cCONSULTA',100,.F.,'lCONSULTA')

    oLyrSQL:addWindow('cCONSULTA', 'wCONSULTA' ,'SQL'        ,60,.F.,.F.,,'lCONSULTA',)
    oLyrSQL:addWindow('cCONSULTA', 'wRESULTADO','Resultado'  ,40,.T.,.T.,,'lCONSULTA',)

    FPanelSQL(@(oLyrSQL:GetWinPane('cCONSULTA','wCONSULTA','lCONSULTA')))

    oDlg:Activate()
Return

Static Function fPanelSQL(oPanel)
    Local oTSEditSql := tSimpleEditor():New(,,oPanel,,)
    oTSEditSql:lAutoIndent := .T.
    oTSEditSql:nWidth   := oPanel:nWidth
    oTSEditSql:nHeight  := oPanel:nHeight

Return

aberto.png fechado.png

Versão (1):

Ver a versão formatada

Redimensionamento de objeto

  • criado 10 de Feb de 2020

Comentário

new question