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

compartilhar
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do TOTVS DevForum!

2 respostas

Não é a resposta que estava procurando? Procure outras perguntas com as tags redimensionamento tsimpleeditor fwlayer ou faça a sua própria pergunta.