Histórico da Página
Pagetitle | ||||
---|---|---|---|---|
|
Gerencia a distribuição dos componentes da tela, de forma alinha e organizada em colunas.
Sua utilização dispensa a necessidade de definir o posicionamento absoluto dos componentes em tela, o ajuste é feito conforme o tamanho de seus componentes filhos.
A distribuição dos componentes visuais na tela é realizada através de linhas e colunas, definida no método COLUMNS_COUNT.
Se o leiaute foi definido com duas colunas, por exemplo, significa que em cada linha da tela poderá ter dois componentes, um ao lado do outro.
Nota |
---|
Uma vez definida a quantidade de colunas para o leiaute, não será mais possível alterá-la. |
Sintaxe
Bloco de código |
---|
LET l_layout_reference = _ADVPL_create_component( NULL, "LLAYOUTMANGER", < cReferencecContainerReference > ) |
Métodos
SETGET
Métodos acessíveis através da utilizando a função _ADVPL_setget_property,
que permite alterar recuperar e manipular os valores do componente:
Expandir | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||
MétodoSETGET:ADDCELL_EMPTY_COLUMNSPACERetorna se está definida para adotar uma margem entre as colunas do leiaute Adiciona uma coluna vazia no leiaute, pulando uma coluna na distribuição dos componentes. Sintaxe
Parâmetros
Exemplo
|
Expandir | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||
Método GET: COLUMNS_COUNTRetorna a quantidade de colunas para cada linha do leiaute, esta quantidade define quantos componentes serão posicionados em uma mesma linha. Sintaxe
Parâmetros
Exemplo
|
Expandir | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||
Método GET: EXPANSIBLERetorna se o próximo componente a ser adicionado no leiaute será expansível para que seja redimensionando conforme o tamanho da tela. Sintaxe
Retorno
Exemplo
|
Expandir | |||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||
Método GET: HAS_EXPANSIBLEIndica se o componente está expandido. Sintaxe
Parâmetros
Retornos
Exemplo
|
Expandir | |||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||
Método GET: HEIGHTRetorna a altura do componente de layout. Sintaxe
Parâmetros
Retornos
Exemplo
|
Expandir | |||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||
Método GET: ROW_SPACERetorna se foi definida para existir margem entre as linhas do leiaute. Sintaxe
Parâmetros
Retornos
Exemplo
|
Expandir | |||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||
Método GET: WIDTHRetorna a largura do componente de layout. Sintaxe
Parâmetros
Retornos
Exemplo
|
Métodos SET
Métodos acessíveis através da função _ADVPL_set_property
que permite alterar e manipular os valores do componente:
Expandir | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||
Método SET: ADD_EMPTY_COLUMNAdiciona uma coluna vazia no leiaute, pulando uma coluna na distribuição dos componentes. Sintaxe
Parâmetros
Exemplo
|
Expandir | |||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||
Método SET: ADD_EMPTY_ROWAdiciona uma linha vazia no leiaute, pulando uma linha na distribuição dos componentes. Sintaxe
Parâmetros
Exemplo
|
Expandir | |||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||
Método SET: APPLY_LAYOUTAplica o leiaute, redimensionando e posicionando os componentes em tela. Sintaxe
Parâmetros
Exemplo
|
Expandir | ||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||
Método SET:MARGINCOLUMNS_COUNTDefine a quantidade de colunas para cada linha do leiaute, esta quantidade define quantos componentes serão posicionados em uma mesma linhaDefine uma margem entre o componente pai e os componentes do leiaute. Sintaxe
Parâmetros
Exemplo
|
Expandir | |||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||
Método SET:COLUMNSCELL_COUNTSPACEDefine uma margem entre as colunas do leiaute Define a quantidade de colunas para cada linha do leiaute, esta quantidade define quantos componentes serão posicionados em uma mesma linha. Sintaxe
Parâmetros
Exemplo
|
Expandir | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||
Método SET:CELL_SPACEEXPANSIBLEIndica se o próximo componente a ser adicionado no leiaute será expansível, redimensionando-o conforme o tamanho da telaDefine uma margem entre as colunas do leiaute. Sintaxe
Parâmetros
ObservaçõesPara correto funcionamento, o componente adicionado após a execução deste método deve ter alinhamento centralizado. Exemplo
|
Expandir | |||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||
Método SET:ROW_SPACEMARGINDefine uma margem entre as linhas o componente pai e os componentes do leiaute. Sintaxe
Parâmetros
Exemplo
|
Expandir | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||
Método SET: MAX_SIZEDefine o tamanho máximo para redimensionamento do componente pai. Sintaxe
Parâmetros
Exemplo
|
Expandir | |||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||
Método SET: MAX_WIDTHHEIGHTDefine a largura altura máxima para redimensionamento do componente pai. Sintaxe
Parâmetros
Exemplo
|
Expandir | |||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||
Método SET: MAX_HEIGHTWIDTHDefine a altura largura máxima para redimensionamento do componente pai. Sintaxe
Parâmetros
Exemplo
|
Expandir | ||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||
Método SET: MIN_SIZEHEIGHTDefine o tamanho mínimo a altura mínima para redimensionamento do componente pai. Sintaxe
Parâmetros
Obrigatório? | Padrão | nWidth | INTEGER Largura mínima para redimensionamento do componente pai | Sim | nHeight
Exemplo
|
Expandir | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||
Método SET: MIN_WIDTHSIZEDefine a largura mínima o tamanho mínimo para redimensionamento do componente pai. Sintaxe
Parâmetros
Exemplo
|
Expandir | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||
Método SET: MIN_HEIGHTWIDTHDefine a altura largura mínima para redimensionamento do componente pai. Sintaxe
Parâmetros
Exemplo
|
Expandir | |||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||
Método SET:EXPANSIBLEROW_SPACEDefine uma margem entre as linhas do leiauteIndica se o próximo componente a ser adicionado no leiaute será expansível, redimensionando-o conforme o tamanho da tela. Sintaxe
Parâmetros
ObservaçõesPara correto funcionamento, o componente adicionado após a execução deste método deve ter alinhamento centralizado.
Exemplo
|
Exemplo
Clique no link na lateral direita para expandir o código de exemplo.
Bloco de código | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
| Exemplo LQUERY
| ||||||||||
DEFINE ma_tela ARRAY[100] OF
RECORD
coluna CHAR(200)
END RECORD
#------------------------#
FUNCTION layoutmanager()
#------------------------#
DEFINE l_dialog_reference,
l_panel_reference,
l_layout_reference,
l_layout_field_reference,
l_label_reference,
l_component_reference,
l_button_reference,
l_table_reference,
l_column_reference VARCHAR(10)
DEFINE l_ind SMALLINT
FOR l_ind = 1 TO 100
LET ma_tela[l_ind].coluna = "Coluna ", l_ind USING "&&&", "."
END FOR
LET l_dialog_reference = _ADVPL_create_component(NULL,"LDIALOG")
CALL _ADVPL_set_property(l_dialog_reference,"SIZE",640,480)
CALL _ADVPL_set_property(l_dialog_reference,"TITLE","Exemplo de Utilização: LLAYOUTMANAGER")
LET l_panel_reference = _ADVPL_create_component(NULL,"LPANEL",l_dialog_reference)
CALL _ADVPL_set_property(l_panel_reference,"ALIGN","TOP")
LET l_layout_reference = _ADVPL_create_component(NULL,"LLAYOUTMANAGER",l_panel_reference)
CALL _ADVPL_set_property(l_layout_reference,"MARGIN",TRUE)
CALL _ADVPL_set_property(l_layout_reference,"COLUMNS_COUNT",2)
LET l_label_reference = _ADVPL_create_component(NULL,"LLABEL",l_layout_reference)
CALL _ADVPL_set_property(l_label_reference,"TEXT","Empresa:")
LET l_panel_reference = _ADVPL_create_component(NULL,"LPANEL",l_layout_reference)
CALL _ADVPL_set_property(l_panel_reference,"ALIGN","CENTER")
LET l_layout_field_reference = _ADVPL_create_component(NULL,"LLAYOUTMANAGER",l_panel_reference)
CALL _ADVPL_set_property(l_layout_field_reference,"MARGIN",FALSE)
CALL _ADVPL_set_property(l_layout_field_reference,"COLUMNS_COUNT",3)
LET l_component_reference = _ADVPL_create_component(NULL,"LTEXTFIELD",l_layout_field_reference)
CALL _ADVPL_set_property(l_component_reference,"LENGTH",2)
CALL _ADVPL_set_property(l_component_reference,"PICTURE","@!")
CALL _ADVPL_set_property(l_component_reference,"TOOLTIP","Código da empresa.")
LET l_button_reference = _ADVPL_create_component(NULL,"LIMAGEBUTTON",l_layout_field_reference)
CALL _ADVPL_set_property(l_button_reference,"IMAGE","BTPESQ")
CALL _ADVPL_set_property(l_button_reference,"SIZE",24,20)
LET l_component_reference = _ADVPL_create_component(NULL,"LTEXTFIELD",l_layout_field_reference)
CALL _ADVPL_set_property(l_component_reference,"LENGTH",30)
CALL _ADVPL_set_property(l_component_reference,"PICTURE","@!")
CALL _ADVPL_set_property(l_component_reference,"TOOLTIP","Descrição da empresa informada.")
LET l_label_reference = _ADVPL_create_component(NULL,"LLABEL",l_layout_reference)
CALL _ADVPL_set_property(l_label_reference,"TEXT","CNPJ:")
LET l_component_reference = _ADVPL_create_component(NULL,"LTEXTFIELD",l_layout_reference)
CALL _ADVPL_set_property(l_component_reference,"LENGTH",19)
CALL _ADVPL_set_property(l_component_reference,"PICTURE","##.###.###/####-##")
CALL _ADVPL_set_property(l_component_reference,"TOOLTIP","CNPJ da empresa informada.")
LET l_label_reference = _ADVPL_create_component(NULL,"LLABEL",l_layout_reference)
CALL _ADVPL_set_property(l_label_reference,"TEXT","Item:")
LET l_panel_reference = _ADVPL_create_component(NULL,"LPANEL",l_layout_reference)
CALL _ADVPL_set_property(l_panel_reference,"ALIGN","CENTER")
LET l_layout_field_reference = _ADVPL_create_component(NULL,"LLAYOUTMANAGER",l_panel_reference)
CALL _ADVPL_set_property(l_layout_field_reference,"MARGIN",FALSE)
CALL _ADVPL_set_property(l_layout_field_reference,"COLUMNS_COUNT",3)
LET l_component_reference = _ADVPL_create_component(NULL,"LTEXTFIELD",l_layout_field_reference)
CALL _ADVPL_set_property(l_component_reference,"LENGTH",15)
CALL _ADVPL_set_property(l_component_reference,"PICTURE","@!")
CALL _ADVPL_set_property(l_component_reference,"TOOLTIP","Código do item.")
LET l_button_reference = _ADVPL_create_component(NULL,"LIMAGEBUTTON",l_layout_field_reference)
CALL _ADVPL_set_property(l_button_reference,"IMAGE","BTPESQ")
CALL _ADVPL_set_property(l_button_reference,"SIZE",24,20)
LET l_component_reference = _ADVPL_create_component(NULL,"LTEXTFIELD",l_layout_field_reference)
CALL _ADVPL_set_property(l_component_reference,"LENGTH",36)
CALL _ADVPL_set_property(l_component_reference,"PICTURE","@!")
CALL _ADVPL_set_property(l_component_reference,"TOOLTIP","Descrição do item informada.")
LET l_panel_reference = _ADVPL_create_component(NULL,"LPANEL",l_dialog_reference)
CALL _ADVPL_set_property(l_panel_reference,"ALIGN","CENTER")
LET l_layout_reference = _ADVPL_create_component(NULL,"LLAYOUTMANAGER",l_panel_reference)
CALL _ADVPL_set_property(l_layout_reference,"COLUMNS_COUNT",1)
CALL _ADVPL_set_property(l_layout_reference,"EXPANSIBLE",TRUE)
LET l_table_reference = _ADVPL_create_component(NULL,"LTABLEEX",l_layout_reference)
CALL _ADVPL_set_property(l_table_reference,"ALIGN","CENTER")
LET l_column_reference = _ADVPL_create_component(NULL,"LTABLECOLUMNEX",l_table_reference)
CALL _ADVPL_set_property(l_column_reference,"HEADER","Coluna")
CALL _ADVPL_set_property(l_column_reference,"VARIABLE","coluna")
CALL _ADVPL_set_property(l_table_reference,"SET_ROWS",ma_tela,100)
CALL _ADVPL_set_property(l_dialog_reference,"ACTIVATE",TRUE)
END FUNCTION |