Página 1 de 2
LABEL com borda
Enviado: 24 Jul 2023 14:35
por JoséQuintas
Olhando o CH, LABEL tem opção de borda
Código: Selecionar todos
#command @ <row>,<col> LABEL <name> ;
[ID <nId>] ;
[ <dummy1: OF, PARENT, DIALOG> <parent> ] ;
[ VALUE <value> ] ;
[ <dummy2: ACTION, ON CLICK, ONCLICK> <action> ] ;
[ ON DBLCLICK <dblclick> ] ;
[ ON RCLICK <rclick> ] ;
[ <dummy3: ON MOUSEHOVER, ONMOUSEHOVER> <overproc> ] ;
[ <dummy4: ON MOUSELEAVE, ONMOUSELEAVE> <leaveproc> ] ;
[ WIDTH <width> ] ;
[ HEIGHT <height> ] ;
[ <autosize : AUTOSIZE> ] ;
[ FONT <fontname> ] ;
[ SIZE <fontsize> ] ;
[ <bold : BOLD> ] ;
[ <italic : ITALIC> ] ;
[ <underline : UNDERLINE> ] ;
[ <strikeout : STRIKEOUT> ] ;
[ TOOLTIP <tooltip> ] ;
[ BACKCOLOR <backcolor> ] ;
[ FONTCOLOR <fontcolor> ] ;
[ <border: BORDER> ] ; <========================================
[ <clientedge: CLIENTEDGE> ] ;
[ <hscroll: HSCROLL> ] ;
[ <vscroll: VSCROLL> ] ;
[ <transparent: TRANSPARENT> ] ;
[ <rightalign: RIGHTALIGN> ] ;
[ <centeralign: CENTERALIGN> ] ;
[ <vcenteralign: VCENTERALIGN> ] ;
[ <blink: BLINK> ] ;
[ HELPID <helpid> ] ;
[ <invisible: INVISIBLE> ] ;
[ <noprefix: NOPREFIX> ] ;
[ ON INIT <bInit> ] ;
Coloquei no fonte BORDER .T., mas não apareceu
Fui olhar na IDE pra ver exemplo, mas não tem a propriedade
Como faço pra colocar borda no LABEL ?
LABEL com borda
Enviado: 24 Jul 2023 16:46
por Mario Mesquita
Boa tarde, pessoal.
Quintas, o que seria "borda" no label? rs Não faço ideia...
Saudações,
Mario.
LABEL com borda
Enviado: 24 Jul 2023 17:13
por ivanil
tem e funciona normalmente...
Neste caso o Dev do IDE não o implementou...
at.
Ivanil
LABEL com borda
Enviado: 24 Jul 2023 17:26
por JoséQuintas
Mario Mesquita escreveu:Quintas, o que seria "borda" no label? rs Não faço ideia...
Seria o mesmo que tem no TEXTBOX, mas não queria usar textbox. é o retângulo em volta, é chamado de borda.
Seria igual isso acima, mas esse não é minigui.
ivanil escreveu:tem e funciona normalmente...
Neste caso o Dev do IDE não o implementou...
Coloquei BORDER .T., mas não apareceu.
Precisa algo mais ? Por enquanto é sem conteúdo, isso faria diferença?
Código: Selecionar todos
cText := "LabelB" + Ltrim( Str( aItem:__EnumIndex ) )
DEFINE LABEL &( cText )
PARENT ::oDlg
COL nCol2 + ( ( aItem[ CFG_LEN ] + 3 ) * 12 )
ROW nRow2
VALUE aItem[ CFG_VVALUE ]
AUTOSIZE .T.
FONTNAME "verdana"
FONTSIZE 10
FONTBOLD .T.
BORDER .T.
TRANSPARENT .T.
LABEL com borda
Enviado: 25 Jul 2023 09:03
por Mario Mesquita
Bom dia a todos.
Morria e não sabia que label tinha borda... Quintas, tentou colocar dentro do .fmg? Sei lá se vai reconhecer. Não seria o caso de colocar no programa mesmo? Tipo "Formulario.Label_x.Border := .T."? Vai que...
Saudações,
Mario.
LABEL com borda
Enviado: 25 Jul 2023 10:37
por JoséQuintas
Foi uma boa idéia, mas testei e não deu, diz que não existe o label.
Talvez o controle ainda não exista neste ponto, e só depois do formulário ativado é que funcione desse jeito.
Usei o SetProperty(), porque não aceita macro do jeito que mostrou.
Código: Selecionar todos
cText := "LabelB" + Ltrim( Str( aItem:__EnumIndex ) )
DEFINE LABEL &( cText )
PARENT ::oDlg
COL nCol2 + ( ( aItem[ CFG_LEN ] + 3 ) * 12 )
ROW nRow2
VALUE aItem[ CFG_VVALUE ]
AUTOSIZE .T.
FONTNAME "verdana"
FONTSIZE 10
FONTBOLD .T.
BORDER .T.
TRANSPARENT .T.
SetProperty( "::oDlg", cText, "BORDER", .T. )
LABEL com borda
Enviado: 25 Jul 2023 12:44
por JoséQuintas
Mario Mesquita escreveu:Morria e não sabia que label tinha borda..
Apenas complemento: label pode ter borda, mas não quer dizer que as LIBs em geral implementem isso. Às vezes pode depender de alguém precisar e pedir o recurso.
ivanil escreveu:tem e funciona normalmente...
Neste caso o Dev do IDE não o implementou...
Estou usando via fonte, olhei a IDE por não ter funcionado.
Estou usando uma das últimas versões da HMG Extended, tem no CH e na função.
Algum detalhe a mais pra funcionar?
LABEL com borda
Enviado: 25 Jul 2023 19:32
por ivanil
Código: Selecionar todos
#include <hmg.ch>
Function Main( )
DEFINE WINDOW main AT 265, 660 WIDTH 193 HEIGHT 236 TITLE "" MAIN
DEFINE LABEL oLabel1
VALUE "oLabel1"
BORDER TRUE
VCENTERALIGN TRUE
COL 41
HEIGHT 20
ROW 32
WIDTH 100
END LABEL
DEFINE LABEL oLabel2
VALUE "oLabel1"
VCENTERALIGN TRUE
COL 41
HEIGHT 20
ROW 57
WIDTH 100
END LABEL
DEFINE LABEL oLabel3
VALUE "oLabel1"
BORDER TRUE
VCENTERALIGN TRUE
COL 41
HEIGHT 20
ROW 82
WIDTH 100
END LABEL
DEFINE LABEL oLabel4
VALUE "oLabel1"
VCENTERALIGN TRUE
COL 41
HEIGHT 20
ROW 107
WIDTH 100
END LABEL
DEFINE LABEL oLabel5
VALUE "oLabel1"
BORDER TRUE
VCENTERALIGN TRUE
COL 41
HEIGHT 20
ROW 132
WIDTH 100
END LABEL
END WINDOW
Main.Center
Main.activate()
REturn .T.
LABEL com borda
Enviado: 25 Jul 2023 20:17
por JoséQuintas
Só resta perguntar então sobre versão da HMG Extended, porque aqui não aparece.
Aceita .T. ou TRUE, mas não aparece.
Testei alterando a ordem e também não foi.
Código: Selecionar todos
IF ! Empty( aItem[ CFG_VTABLE ] )
MsgYesNo( "label" )
aItem[ CFG_VVALUE ] := "XX"
cText := "LabelB" + Ltrim( Str( aItem:__EnumIndex ) )
DEFINE LABEL &( cText )
PARENT ::oDlg
COL nCol2 + ( ( aItem[ CFG_LEN ] + 3 ) * 12 )
ROW nRow2
VALUE aItem[ CFG_VVALUE ]
FONTNAME "verdana"
FONTSIZE 10
FONTBOLD .T.
BORDER .T.
Mas.... neste último teste reparei uma coisa: mesmo com texto, não é só a borda que não sai, é o label inteiro, porque não aparece o XX.
LABEL com borda
Enviado: 25 Jul 2023 21:46
por JoséQuintas
Aí dá uma visão boa.
O label de cima está praticamente igual ao label de baixo.
À primeira vista, descarta erro de sintaxe.
A posição do textbox é nCol2, com tamanho calculado.
O segundo label é na posição do textbox + o tamanho do textbox + 36, na frente do textbox, mesma linha
À primeira vista, descarta posicionamento em lugar errado.
O que pensei que era problema de borda se refere ao label inteiro.
Já testei com e sem borda, trocando valor do label,
Também coloquei mensagem pra confirmar se estava entrando dentro do IF.
Também já coloquei no label de baixo igual label de cima, com a mesma variável usada pra valor, pra diferença entre eles ser apenas a posição.
Por enquanto, sem mais idéias do que conferir.
LABEL com borda
Enviado: 26 Jul 2023 09:32
por ivanil
é meu amigo...
neste caso a gente sempre estará olhando para o lado errado...
se fosse eu, começaria usando valores fixos para ver a funcionalidade, depois iria testando as variáveis... se retornar zero pode estar ocorrendo a sobreposição ou nem mesmo cair no if...
LABEL com borda
Enviado: 26 Jul 2023 10:21
por JoséQuintas
Na prática você me deu uma grande ajuda ao mostrar a IDE.
Mesmo que não use pra desenvolvimento, ela vai ajudar a tirar dúvidas.
Vai acabar acelerando tudo.
Valeu
LABEL com borda
Enviado: 26 Jul 2023 11:06
por JoséQuintas
Teste prático isolado.
A partir do fonte da IDE.
Isso tirou a dúvida sobre versão da HMGE também, sobre a borda.
Agora é descobrir porque lá não funciona.
LABEL com borda
Enviado: 27 Jul 2023 10:59
por JoséQuintas
Fui fazer a atualização do controle, e diz que não existe o controle.
Tem alguma rotina pra pegar o nome/tipo de tudo que está aberto?
Estou desconfiado que pode ter a ver com nome do form/controles, que é tudo fora do normal da HMG.
Uma das formas de ver isso seria mostrar a lista de tudo que está na tela.
Num plano B dá pra gerar o fonte da tela pra abrir na IDE.
Mas no fonte é &cText, e na geração vai ter o conteúdo de cText, teoricamente o mesmo nome, mas na prática pode não ser.
LABEL com borda
Enviado: 27 Jul 2023 18:48
por ivanil
Ola Quintas,
Antes de seguir em frente, sugiro dar uma olhada na documentação, pasta doc é rica em informação.
Veja que a minigui tem uma função que recebe array como parâmetros; o fonte faz parte do núcleo da minigui e esta disponível em source, você pode fazer uma versão a partir deste modelo.
InputWindow()
--------------------------------------------------------------------------------
Creates an editing window automatically based upon values types.
SYNTAX
InputWindow(<Title>,<acLabels>,<aInitialValues>,<aFormats>, <nRow> , <nCol>, <lCenterWindow>, <aButOKCancelCaptions>) --> aResult
InputWindow() Argument Description
Argument Meaning
<Title> Window Title
<acLabels> Character array containing labels with item descriptions.
<aInitialValues> Array containig initial values to edit.
<aFormats> Array containing format information for editing.
<nRow> Initial row position.
<nCol> Initial colums position.
<lCenterWindow> Logical center flag.
<aButOKCancelCaptions> Character array containing captions with button descriptions..
InputWindow() Automatic Control Creation
Initial Value Type Format Type Control Created
Character Numeric (< 32) TEXTBOX
Character Numeric (>= 32) EDITBOX
Logical Nil CHECKBOX
Numeric Character Array COMBOBOX
Numeric Character (InputMask) TEXTBOX(NUMERIC)
Date Nil DATEPICKER