Página 1 de 1

doideira da minigui SPLITBOX + GRID

Enviado: 02 Jan 2024 21:52
por JoséQuintas
Tem a sintaxe 1 (tá no SUPER):

DEFINE GRID .....

Tem a sintaxe 2 (tá no DLGAUTO):

@ Col, Row GRID ...

Vi no SUPER, que o grid está entre DEFINE SPLITBOX - END SPLITBOX
Só isso, nenhum parâmetro adicional

Fiz o mesmo no dlgauto pra ver o que dava.
split.png
Na falta de opção, olhei o PPO
grid.png
e não é que um virou _definegrid() e outro virou _definebrowse() .....

E um funciona normal e outro dá erro no splitbox.

Na prática não sei o que é isso, apenas coloquei igual pra ver se fazia diferença.
Fez diferença, mas não esperava esse tipo de diferença....

Agora é modificar o bloco completo pra ver o que acontece.

doideira da minigui SPLITBOX + GRID

Enviado: 03 Jan 2024 07:59
por ivanil
Bom dia;

Fique atento para a seguinte situação;
Não é o DEFINE que determina o objeto; Define é responsável por capturar as propriedades, o END é o cara que determina o objeto, veja abaixo;


DEFINE TEXTBOX XXX
ROW ...
...
END BROWSE

Será criado um objeto Browse, se as propriedades de TEXTBOX coincidirem com as do BROWSE então estará OK, caso contrario teremos erros variados;
Para usar o split, os objetos não recebem algumas propriedades, veja alguns exemplos em (..\Minigui\SAMPLES\BASIC\CONTAINERS) ; nem todos os objetos podem ser usados no split;

Boa sorte.

doideira da minigui SPLITBOX + GRID

Enviado: 03 Jan 2024 11:46
por JoséQuintas
ivanil escreveu:Não é o DEFINE que determina o objeto; Define é responsável por capturar as propriedades, o END é o cara que determina o objeto, veja abaixo;
Sim, isso já percebi, com uma situação anterior.

Pra LIB, estes dois são BROWSE

Código: Selecionar todos

   DEFINE BROWSE ( xControl )
      PARENT ( xDlg )
      ROW nRow
      COL nCol
      WIDTH nWidth - 20
      HEIGHT nHeight - 20
      ONDBLCLICK gui_BrowseDblClick( xDlg, xControl, workarea, cField, @xValue )
      HEADERS aHeaderList
      WIDTHS aWidthList
      WORKAREA ( workarea )
      FIELDS aFieldList
   END BROWSE

Código: Selecionar todos

   //@ nRow, nCol GRID ( xControl ) ;
   //   OF ( xDlg ) ;
   //   WIDTH nWidth - 20 ;
   //   HEIGHT nHeight - 20 ;
   //   ON DBLCLICK gui_BrowseDblClick( xDlg, xControl, workarea, cField, @xValue ) ;
   //   HEADERS aHeaderList ;
   //   WIDTHS aWidthList ;
   //   ROWSOURCE ( workarea ) ;
   //   COLUMNFIELDS aFieldList
A outra coisa foi o DEFINE SPLITBOX, mas pelo que mencionou deve funcionar pra GRID e não pra BROWSE.
@ GRID sugere ser grid mas não é.
Já troquei @ GRID pra DEFINE BROWSE, pra eliminar essa incoerência da lib no fonte.