Página 1 de 1

Uia pra mensagens

Enviado: 06 Jan 2025 12:41
por JoséQuintas
statusbar.png
Não entenderam nada né.....

Minha rotina genérica no menu.

Código: Selecionar todos

FUNCTION DoPrg( cModule, cTitulo, p1, p2, p3 ) // tem módulo que utiliza p1

   LOCAL mHrInic, nGT, oStatusbar
   PRIVATE xFrmName

   xFrmName := cModule
   IF Upper( Left( xFrmName, 7 ) ) == "DLGAUTO"
      xFrmName := Upper( xFrmName )
      hb_gtReload( "WVG" )
      AppInitSets(0) // sem tela
      DO CASE
      CASE xFrmName == "DLGAUTOFIVEWIN" ; oGui := FIVEWINClass():New()
      CASE xFrmName == "DLGAUTOHWGUI" ;   oGUI := HWGUIClass():New()
      //CASE xFrmName == "DLGAUTOHMGE" ;    oGUI := HMGECLASS():New()
      //CASE xFrmName == "DLGAUTOHMG3" ;    oGUI := HMG3Class():New()
      //CASE xFrmName == "DLGAUTOOOHG" ;    oGUI := OOHGClass():New()
      ENDCASE
      Do( "DLGAUTO", P1, P2, P3 )
      PostQuitMessage(0)
      RETURN Nil
   ENDIF

   nGT := hb_gtReload( "WVG" ) // hb_gtInfo( HB_GTI_VERSION )
   //HB_GtInfo( HB_GTI_WINTITLE, cTitulo )
   AppInitSets()
   oStatusbar := wvgStatusBar():New( wvgSetAppWindow(), , , { -2, -2 } , , .T. ):Create()
   (oStatusbar)
   SetColor( SetColorNormal() )
   CLS
   SayTitulo( cTitulo )
   Mensagem()
   @ MaxRow() - 2, 0 TO MaxRow() - 2, MaxCol() COLOR SetColorTraco()
   mHrInic := Time()
   Do( cModule, p1, p2, p3 )
   LogDeUso( mHrInic, cModule )
   // exit procedure of wvg
   (nGt)
   nGT := Nil
   (nGT)
   wvgSetAppWindow():Destroy()
   //  HB_SYMBOL_UNUSED( oStatusbar )
   IF AppIsMultithread()
      PostQuitMessage(0)
   ENDIF

   RETURN Nil
Ainda não entenderam né...

Código: Selecionar todos

   oStatusbar := wvgStatusBar():New( wvgSetAppWindow(), , , { -2, -2 } , , .T. ):Create()
   (oStatusbar)
Pois é....
É a statusbar da API Windows, disponível na maioria das LIBs gráficas, e também na GTWVG.
Com a mudança de cores, ficou compatível com a tela.

Ué... não vou mudar pra fivewin ?
Não tenho pressa.
Posso até ajustar as rotinas pra statusbar GTWVG ou FIVEWIN ou até HWGUI, já vou estar adiantando o serviço, e usuário se acostumando.

É só um teste.

Nota:
Na rotina atual são duas linhas pretas, ficou um das linhas pretas ainda na tela, e mais a linha separadora.
Com statusbar serão duas linhas a mais pra usar pra tela.

Uia pra mensagens

Enviado: 06 Jan 2025 18:33
por JoséQuintas
test.png
Uia com statusbar.

Então....
Tem aqueles espíritos de porco, que falam mal de tudo, que gtwvg dá muito trabalho, etc. etc. etc.

Vamos lá às mudanças nos fontes:

Tenho lá minha classe genérica de telas.... lembram que comentei ? DLGAUTO tem uma versão simples dela...

Código: Selecionar todos

CREATE CLASS frmguiClass
acrescentei o tipo pra statusbar

Código: Selecionar todos

#define CONTROL_TYPE_STATUSBAR 8
E acrescentei a criação de statusbar e atualização de texto
Statusbar contém panels, dá pra dividir em várias partes, colocar relógio, etc, igual todo mundo costuma fazer.

Código: Selecionar todos

METHOD StatusCreate() CLASS frmGuiClass

   LOCAL oControl

   oControl := wvgStatusBar():New( wvgSetAppWindow(), , , { -2, -2 } , , .T. ):Create()
   oControl:AddItem( "" )
   AAdd( ::aControlList, { CONTROL_TYPE_STATUSBAR, oControl } )

   RETURN Nil

METHOD SetMsg( cText ) CLASS frmguiClass

   LOCAL nPos

   hb_Default( @cText, "" )
   nPos := hb_Ascan( ::aControlList, { | e | e[1] == CONTROL_TYPE_STATUSBAR } )
   IF nPos == 0
      ::StatusCreate()
      nPos := Len( ::aControlList )
   ENDIF
   ::aControlList[ nPos, 2 ]:aItems[ 1 ]:Caption( cText )

   RETURN Nil
como teste, alterei a rotina de pedidos. o resultado foi o que postei

Código: Selecionar todos

   oFrm:SetMsg( "Testando statusbar" )
   oFrm:Execute()
   CLOSE DATABASES

   RETURN
Interessante né....
Aí lembrei de uma coisa:
Tenho lá Mensagem() responsável por todas as mensagens do aplicativo.
Pois é... à primeira vista, só preciso alterar uma única funçào, e tudo vai passar a ser mostrado na statusbar da API Windows.
Cada "dialog" na sua statusbar, lógico.

Só resta confirmar se o tamanho da letra vai ser bom.
E se realmente uso a classe pra todas as telas.
Mas só testando.

Uia pra mensagens

Enviado: 06 Jan 2025 19:03
por JoséQuintas
Primeira tentativa falhou.
SYSTEM ERROR
Error BASE/1004 No exported method: SETMSG
Called from SETMSG(0)
Called from MENSAGEM(29)
Called from MSGBROWSE(281)
Called from BROWSEADORC(41)
Called from PJPPEDIDO_TELADADOS(120)
Called from (b)JPPEDIDOCLASS(105)
Called from JPPEDIDOCLASS:TELADADOS(0)
Called from JPPEDIDOCLASS:EXECUTE(346)
Called from PJPPEDIDO(85)
Called from DO(0)
Called from DOPRG(158)
Called from (b)RUNMODULE(112)
(1) = Tipo: A Valor: __itemSetObj( __itemSetRef( {{{"OBUTTONS", {{73, "<I>Inclui"}, {65, "<A>Altera"}, {69, "<E>Exclui"}, {67, "<C>Consulta"}, {80, "<P>Primeiro"}, {45, "<->Anterior"}, {43, "<+>Seguinte"}, {85, "<U>Último"}, {83, "<S>Confirma"}, {76, "<L>Imprime"}, {86, "<V>Val.Adic"}, {70, "<F>Financ"}, {81, "<Q>Estoque"}, {79, "<O>Ocorr."}, {78, "<N>NFCupom"}, {84, "<T>CTE"}, {74, "<J>EmiteNFE"}, {87, "<W>VerPDF"}, {66, "<B>Obs."}, {77, "<M>Email"}, {68, "<D>Duplicar"}, {27, "<ESC>Sair"}}}, {"ACMENUOPTIONS", {"<S>Confirma", "<L>Imprime", "<V>Val.Adic", "<F>Financ", "<Q>Estoque", "<O>Ocorr.", "<N>NFCupom", "<T>CTE", "<J>EmiteNFE", "<W>VerPDF", "<B>Obs.", "<M>Email", "<D>Duplicar", "<F2>Mapa", "<R>Compara", "<F3>Duplicata", "<F12>ReemiteC", "<F14>Juntar", "<F16>Config"}}, {"ACTABNAME", {" Geral "}}, {"ACHOTKEYS", {{22, 73}, {48, 73}, {7, 69}, {46, 69}, {44, 69}, {1, 80}, {55, 80}, {6, 85}, {49, 85}, {18, 45}, {57, 45}, {3, 43}, {51, 43}, {-1, -1, "F2"}, {-2, -2, "F3"}, {-11, -11, "F12"}, {-13, -13, "F14"}, {-15, -15, "F16"}, {1004, 27}, {1007, 27}, {105, 73}, {97, 65}, {101, 69}, {99, 67}, {112, 80}, {117, 85}, {115, 83}, {108, 76}, {118, 86}, {102, 70}, {113, 81}, {111, 79}, {110, 78}, {116, 84}, {106, 74}, {119, 87}, {98, 66}, {109, 77}, {100, 68}}}, {"AGUIBUTTONS", {{73, "<I>Inclui"}, {65, "<A>Altera"}, {69, "<E>Exclui"}, {67, "<C>Consulta"}, {80, "<P>Primeiro"}, {45, "<->Anterior"}, {43, "<+>Seguinte"}, {85, "<U>Último"}, {83, "<S>Confirma"}, {76, "<L>Imprime"}, {86, "<V>Val.Adic"}, {70, "<F>Financ"}, {81, "<Q>Estoque"}, {79, "<O>Ocorr."}, {78, "<N>NFCupom"}, {84, "<T>CTE"}, {74, "<J>EmiteNFE"}, {87, "<W>VerPDF"}, {66, "<B>Obs."}, {77, "<M>Email"}, {68, "<D>Duplicar"}, {27, "<ESC>Sair"}, {-15, "<F16>Config"}, {-13, "<F14>Juntar"}, {-11, "<F12>ReemiteC"}, {-2, "<F3>Duplicata"}, {82, "<R>Compara"}, {-1, "<F2>Mapa"}}}, {"ACSUBMENU", {{-15, "<F16>Config"}, {-13, "<F14>Juntar"}, {-11, "<F12>ReemiteC"}, {-2, "<F3>Duplicata"}, {82, "<R>Compara"}, {-1, "<F2>Mapa"}}}, {"AMOUSELIST", {}}, {"ACONTROLLIST", {{1, {{"ACHILDREN", {}}, {"NNAMEID", 0}, {"OPARENT", {{"ACHILDREN", {NIL, {{"ACHILDREN", {}}, {"NNAMEID", 0}, {"OPARENT", NIL}, {"S_TOOLTIPTEXT", "A Alterar existente"}, {"SL_LBCLICK", {|| ... }}, {"STYLE", 1073759232}, {"OBJTYPE", 9}, {"CLASSNAME", "BUTTON"}, {"HWND", 10290164}, {"PWND", <pointer>}, {"APOS", {-0.1, -6}}, {"ASIZE", {-2.5, -6}}, {"APRESPARAMS", {}}, {"LHASINPUTFOCUS", .T.}, {"NID", 5002}, {"HWNDTT", 11470144}, {"CAPTION", "Altera"}, {"POINTERFOCUS", .F.}}, {{"ACHILDREN", {}}, {"NNAMEID", 0}, {"OPARENT", NIL}, {"S_TOOLTIPTEXT", "E <Del> Excluir"}, {"SL_LBCLICK", {|| ... }}, {"STYLE", 1073759232}, {"OBJTYPE", 9}, {"CLASSNAME", "BUTTON"}, {"HWND", 3475544}, {"PWND", <pointer>}, {"APOS", {-0.1, -12}}, {"ASIZE", {-2.5, -6}}, {"APRESPARAMS", {}}, {"LHASINPUTFOCUS", .T.}, {"NID", 5003}, {"HWNDTT", 16123324}, {"CAPTION", "Exclui"}, {"POINTERFOCUS", .F.}}, {{"ACHILDREN", {}}, {"NNAMEID", 0}, {"OPARENT", NIL}, {"S_TOOLTIPTEXT", "C Consultar um código específico"}, {"SL_LBCLICK", {|| ... }}, {"STYLE", 1073759232}, {"OBJTYPE", 9}, {"CLASSNAME", "BUTTON"}, {"HWND", 2819992}, {"PWND", <pointer>}, {"APOS", {-0.1, -18}}, {"ASIZE", {-2.5, -6}}, {"APRESPARAMS", {}}, {"LHASINPUTFOCUS", .T.}, {"NID", 5004}, {"HWNDTT", 11994544}, {"CAPTION", "Consulta"}, {"POINTERFOCUS", .F.}}, {{"ACHILDREN", {}}, {"NNAMEID", 0}, {"OPARENT", NIL}, {"S_TOOLTIPTEXT", "P <Home> Move ao primeiro registro"}, {"SL_LBCLICK", {|| ... }}, {"STYLE", 1073759232}, {"OBJTYPE", 9}, {"CLASSNAME", "BUTTON"}, {"HWND", 10028466}, {"PWND", <pointer>}, {"APOS", {-0.1, -24}}, {"ASIZE", {-2.5, -6}}, {"APRESPARAMS", {}}, {"LHASINPUTFOCUS", .T.}, {"NID", 5005}, {"HWNDTT", 12322060}, {"CAPTION", "Primeiro"}, {"POINTERFOCUS", .F.}}, {{"ACHILDREN", {}}, {"NNAMEID", 0}, {"OPARENT", NIL}, {"S_TOOLTIPTEXT", "- PGUP Move ao registro anterior"}, {"SL_LBCLICK", {|| ... }}, {"STYLE", 1073759232}, {"OBJTYPE", 9}, {"CLASSNAME", "BUTTON"}, {"HWND", 22283642}, {"PWND", <pointer>}, {"APOS", {-0.1, -30}}, {"ASIZE", {-2.5, -6}}, {"APRESPARAMS", {}}, {"LHASINPUTFOCUS", .T.}, {"NID", 5006}, {"HWNDTT", 1771506}, {"CAPTION", "Anterior"}, {"POINTERFOCUS", .F.}}, {{"ACHILDREN", {}}, {"NNAMEID", 0}, {"OPARENT", NIL}, {"S_TOOLTIPTEXT", "+ PGDN Move ao registro seguinte"}, {"SL_LBCLICK", {|| ... }}, {"STYLE", 1073759232}, {"OBJTYPE", 9}, {"CLASSNAME", "BUTTON"}, {"HWND", 8848380}, {"PWND", <pointer>}, {"APOS", {-0.1, -36}}, {"ASIZE", {-2.5, -6}}, {"APRESPARAMS", {}}, {"LHASINPUTFOCUS", .T.}, {"NID", 5007}, {"HWNDTT", 5046998}, {"CAPTION", "Seguinte"}, {"POINTERFOCUS", .F.}}, {{"ACHILDREN", {}}, {"NNAMEID", 0}, {"OPARENT", NIL}, {"S_TOOLTIPTEXT", "U <End> Move ao último registro"}, {"SL_LBCLICK", {|| ... }}, {"STYLE", 1073759232}, {"OBJTYPE", 9}, {"CLASSNAME", "BUTTON"}, {"HWND", 15205856}, {"PWND", <pointer>}, {"APOS", {-0.1, -42}}, {"ASIZE", {-2.5, -6}}, {"APRESPARAMS", {}}, {"LHASINPUTFOCUS", .T.}, {"NID", 5008}, {"HWNDTT", 19858842}, {"CAPTION", "Último"}, {"POINTERFOCUS", .F.}}, {{"ACHILDREN", {}}, {"NNAMEID", 0}, {"OPARENT", NIL}, {"S_TOOLTIPTEXT", "S Confirma"}, {"SL_LBCLICK", {|| ... }}, {"STYLE", 1073759232}, {"OBJTYPE", 9}, {"CLASSNAME", "BUTTON"}, {"HWND", 9176264}, {"PWND", <pointer>}, {"APOS", {-0.1, -48}}, {"ASIZE", {-2.5, -6}}, {"APRESPARAMS", {}}, {"LHASINPUTFOCUS", .T.}, {"NID", 5009}, {"HWNDTT", 5703364}, {"CAPTION", "Confirma"}, {"POINTERFOCUS", .F.}}, {{"ACHILDREN", {}}, {"NNAMEID", 0}, {"OPARENT", NIL}, {"S_TOOLTIPTEXT", "L Imprime"}, {"SL_LBCLICK", {|| ... }}, {"STYLE", 1073759232}, {"OBJTYPE", 9}, {"CLASSNAME", "BUTTON"}, {"HWND", 5441244}, {"PWND", <pointer>}, {"APOS", {-0.1, -54}}, {"ASIZE", {-2.5, -6}}, {"APRESPARAMS", {}}, {"LHASINPUTFOCUS", .T.}, {"NID", 5010}, {"HWNDTT", 15074664}, {"CAPTION", "Imprime"}, {"POINTERFOCUS", .F.}}, {{"ACHILDREN", {}}, {"NNAMEID", 0}, {"OPARENT", NIL}, {"S_TOOLTIPTEXT", "V Modifica valores adicionais"}, {"SL_LBCLICK", {|| ... }}, {"STYLE", 1073759232}, {"OBJTYPE", 9}, {"CLASSNAME", "BUTTON"}, {"HWND", 9569438}, {"PWND", <pointer>}, {"APOS", {-0.1, -60}}, {"ASIZE", {-2.5, -6}}, {"APRESPARAMS", {}}, {"LHASINPUTFOCUS", .T.}, {"NID", 5011}, {"HWNDTT", 15336600}, {"CAPTION", "Val.Adic"}, {"POINTERFOCUS", .F.}}, {{"ACHILDREN", {}}, {"NNAMEID", 0}, {"OPARENT", NIL}, {"S_TOOLTIPTEXT", "F Mostra financeiro relacionado"}, {"SL_LBCLICK", {|| ... }}, {"STYLE", 1073759232}, {"OBJTYPE", 9}, {"CLASSNAME", "BUTTON"}, {"HWND", 8586356}, {"PWND", <pointer>}, {"APOS", {-0.1, -66}}, {"ASIZE", {-2.5, -6}}, {"APRESPARAMS", {}}, {"LHASINPUTFOCUS", .T.}, {"NID", 5012}, {"HWNDTT", 12387492}, {"CAPTION", "Financ"}, {"POINTERFOCUS", .F.}}, {{"ACHILDREN", {}}, {"NNAMEID", 0}, {"OPARENT", NIL}, {"S_TOOLTIPTEXT", "Q Lançamentos de estoque gerados"}, {"SL_LBCLICK", {|| ... }}, {"STYLE", 1073759232}, {"OBJTYPE", 9}, {"CLASSNAME", "BUTTON"}, {"HWND", 10618132}, {"PWND", <pointer>}, {"APOS", {-0.1, -72}}, {"ASIZE", {-2.5, -6}}, {"APRESPARAMS", {}}, {"LHASINPUTFOCUS", .T.}, {"NID", 5013}, {"HWNDTT", 4261552}, {"CAPTION", "Estoque"}, {"POINTERFOCUS", .F.}}, {{"ACHILDREN", {}}, {"NNAMEID", 0}, {"OPARENT", NIL}, {"S_TOOLTIPTEXT", "O Ocorrências registradas"}, {"SL_LBCLICK", {|| ... }}, {"STYLE", 1073759232}, {"OBJTYPE", 9}, {"CLASSNAME", "BUTTON"}, {"HWND", 10355810}, {"PWND", <pointer>}, {"APOS", {-0.1, -78}}, {"ASIZE", {-2.5, -6}}, {"APRESPARAMS", {}}, {"LHASINPUTFOCUS", .T.}, {"NID", 5014}, {"HWNDTT", 13501904}, {"CAPTION", "Ocorr."}, {"POINTERFOCUS", .F.}}, {{"ACHILDREN", {}}, {"NNAMEID", 0}, {"OPARENT", NIL}, {"S_TOOLTIPTEXT", "N Emite Nota Fiscal"}, {"SL_LBCLICK", {|| ... }}, {"STYLE", 1073759232}, {"OBJTYPE", 9}, {"CLASSNAME", "BUTTON"}, {"HWND", 4720738}, {"PWND", <pointer>}, {"APOS", {-0.1, -84}}, {"ASIZE", {-2.5, -6}}, {"APRESPARAMS", {}}, {"LHASINPUTFOCUS", .T.}, {"NID", 5015}, {"HWNDTT", 3999366}, {"CAPTION", "NFCupom"}, {"POINTERFOCUS", .F.}}, {{"ACHILDREN", {}}, {"NNAMEID", 0}, {"OPARENT", NIL}, {"S_TOOLTIPTEXT", "T Emite CTE"}, {"SL_LBCLICK", {|| ... }}, {"STYLE", 1073759232}, {"OBJTYPE", 9}, {"CLASSNAME", "BUTTON"}, {"HWND", 5702732}, {"PWND", <pointer>}, {"APOS", {-0.1, -90}}, {"ASIZE", {-2.5, -6}}, {"APRESPARAMS", {}}, {"LHASINPUTFOCUS", .T.}, {"NID", 5016}, {"HWNDTT", 2361192}, {"CAPTION", "CTE"}, {"POINTERFOCUS", .F.}}, {{"ACHILDREN", {}}, {"NNAMEID", 0}, {"OPARENT", NIL}, {"S_TOOLTIPTEXT", "J Emite NFE na Sefaz"}, {"SL_LBCLICK", {|| ... }}, {"STYLE", 1073759232}, {"OBJTYPE", 9}, {"CLASSNAME", "BUTTON"}, {"HWND", 6620872}, {"PWND", <pointer>}, {"APOS", {-0.1, -96}}, {"ASIZE", {-2.5, -6}}, {"APRESPARAMS", {}}, {"LHASINPUTFOCUS", .T.}, {"NID", 5017}, {"HWNDTT", 4654752}, {"CAPTION", "EmiteNFE"}, {"POINTERFOCUS", .F.}}, {{"ACHILDREN", {}}, {"NNAMEID", 0}, {"OPARENT", NIL}, {"S_TOOLTIPTEXT", "W Visualiza PDF"}, {"SL_LBCLICK", {|| ... }}, {"STYLE", 1073759232}, {"OBJTYPE", 9}, {"CLASSNAME", "BUTTON"}, {"HWND", 9045222}, {"PWND", <pointer>}, {"APOS", {-0.1, -102}}, {"ASIZE", {-2.5, -6}}, {"APRESPARAMS", {}}, {"LHASINPUTFOCUS", .T.}, {"NID", 5018}, {"HWNDTT", 6882690}, {"CAPTION", "VerPDF"}, {"POINTERFOCUS", .F.}}, {{"ACHILDREN", {}}, {"NNAMEID", 0}, {"OPARENT", NIL}, {"S_TOOLTIPTEXT", "B Editar observações"}, {"SL_LBCLICK", {|| ... }}, {"STYLE", 1073759232}, {"OBJTYPE", 9}, {"CLASSNAME", "BUTTON"}, {"HWND", 4130570}, {"PWND", <pointer>}, {"APOS", {-0.1, -108}}, {"ASIZE", {-2.5, -6}}, {"APRESPARAMS", {}}, {"LHASINPUTFOCUS", .T.}, {"NID", 5019}, {"HWNDTT", 5572626}, {"CAPTION", "Obs."}, {"POINTERFOCUS", .F.}}, {{"ACHILDREN", {}}, {"NNAMEID", 0}, {"OPARENT", NIL}, {"S_TOOLTIPTEXT", "M Envia Email"}, {"SL_LBCLICK", {|| ... }}, {"STYLE", 1073759232}, {"OBJTYPE", 9}, {"CLASSNAME", "BUTTON"}, {"HWND", 6554806}, {"PWND", <pointer>}, {"APOS", {-0.1, -114}}, {"ASIZE", {-2.5, -6}}, {"APRESPARAMS", {}}, {"LHASINPUTFOCUS", .T.}, {"NID", 5020}, {"HWNDTT", 4981744}, {"CAPTION", "Email"}, {"POINTERFOCUS", .F.}}, {{"ACHILDREN", {}}, {"NNAMEID", 0}, {"OPARENT", NIL}, {"S_TOOLTIPTEXT", "D Cria cópia do atual"}, {"SL_LBCLICK", {|| ... }}, {"STYLE", 1073759232}, {"OBJTYPE", 9}, {"CLASSNAME", "BUTTON"}, {"HWND", 13501776}, {"PWND", <pointer>}, {"APOS", {-0.1, -120}}, {"ASIZE", {-2.5, -6}}, {"APRESPARAMS", {}}, {"LHASINPUTFOCUS", .T.}, {"NID", 5021}, {"HWNDTT", 5769070}, {"CAPTION", "Duplicar"}, {"POINTERFOCUS", .F.}}, {{"ACHILDREN", {}}, {"NNAMEID", 0}, {"OPARENT", NIL}, {"S_TOOLTIPTEXT", "ESC Encerra a utilização"}, {"SL_LBCLICK", {|| ... }}, {"STYLE", 1073759232}, {"OBJTYPE", 9}, {"CLASSNAME", "BUTTON"}, {"HWND", 10814374}, {"PWND", <pointer>}, {"APOS", {-0.1, -126}}, {"ASIZE", {-2.5, -6}}, {"APRESPARAMS", {}}, {"LHASINPUTFOCUS", .T.}, {"NID", 5022}, {"HWNDTT", 12714732}, {"CAPTION", "Sair"}, {"POINTERFOCUS", .F.}}, {{"ACHILDREN", {}}, {"NNAMEID", 0}, {"OPARENT", NIL}, {"S_TOOLTIPTEXT", "Config"}, {"SL_LBCLICK", {|| ... }}, {"STYLE", 1073759232}, {"OBJTYPE", 9}, {"CLASSNAME", "BUTTON"}, {"HWND", 4916840}, {"PWND", <pointer>}, {"APOS", {-2.6, -126}}, {"ASIZE", {-2.5, -6}}, {"APRESPARAMS", {}}, {"LHASINPUTFOCUS", .T.}, {"NID", 5023}, {"HWNDTT", 1902398}, {"CAPTION", "Config"}, {"POINTERFOCUS", .F.}}, {{"ACHILDREN", {}}, {"NNAMEID", 0}, {"OPARENT", NIL}, {"S_TOOLTIPTEXT", "Juntar"}, {"SL_LBCLICK", {|| ... }}, {"STYLE", 1073759232}, {"OBJTYPE", 9}, {"CLASSNAME", "BUTTON"}, {"HWND", 11929032}, {"PWND", <pointer>}, {"APOS", {-2.6, -120}}, {"ASIZE", {-2.5, -6}}, {"APRESPARAMS", {}}, {"LHASINPUTFOCUS", .T.}, {"NID", 5024}, {"HWNDTT", 9962482}, {"CAPTION", "Juntar"}, {"POINTERFOCUS", .F.}}, {{"ACHILDREN", {}}, {"NNAMEID", 0}, {"OPARENT", NIL}, {"S_TOOLTIPTEXT", "ReemiteC"}, {"SL_LBCLICK", {|| ... }}, {"STYLE", 1073759232}, {"OBJTYPE", 9}, {"CLASSNAME", "BUTTON"}, {"HWND", 15664630}, {"PWND", <pointer>}, {"APOS", {-2.6, -114}}, {"ASIZE", {-2.5, -6}}, {"APRESPARAMS", {}}, {"LHASINPUTFOCUS", .T.}, {"NID", 5025}, {"HWNDTT", 6686202}, {"CAPTION", "ReemiteC"}, {"POINTERFOCUS", .F.}}, {{"ACHILDREN", {}}, {"NNAMEID", 0}, {"OPARENT", NIL}, {"S_TOOLTIPTEXT", "Duplicata"}, {"SL_LBCLICK", {|| ... }}, {"STYLE", 1073759232}, {"OBJTYPE", 9}, {"CLASSNAME", "BUTTON"}, {"HWND", 8586102}, {"PWND", <pointer>}, {"APOS", {-2.6, -108}}, {"ASIZE", {-2.5, -6}}, {"APRESPARAMS", {}}, {"LHASINPUTFOCUS", .T.}, {"NID", 5026}, {"HWNDTT", 5571610}, {"CAPTION", "Duplicata"}, {"POINTERFOCUS", .F.}}, {{"ACHILDREN", {}}, {"NNAMEID", 0}, {"OPARENT", NIL}, {"S_TOOLTIPTEXT", "Compara"}, {"SL_LBCLICK", {|| ... }}, {"STYLE", 1073759232}, {"OBJTYPE", 9}, {"CLASSNAME", "BUTTON"}, {"HWND", 7996296}, {"PWND", <pointer>}, {"APOS", {-2.6, -102}}, {"ASIZE", {-2.5, -6}}, {"APRESPARAMS", {}}, {"LHASINPUTFOCUS", .T.}, {"NID", 5027}, {"HWNDTT", 14878064}, {"CAPTION", "Compara"}, {"POINTERFOCUS", .F.}}, {{"ACHILDREN", {}}, {"NNAMEID", 0}, {"OPARENT", NIL}, {"S_TOOLTIPTEXT", "Mapa"}, {"SL_LBCLICK", {|| ... }}, {"STYLE", 1073759232}, {"OBJTYPE", 9}, {"CLASSNAME", "BUTTON"}, {"HWND", 10093718}, {"PWND", <pointer>}, {"APOS", {-2.6, -96}}, {"ASIZE", {-2.5, -6}}, {"APRESPARAMS", {}}, {"LHASINPUTFOCUS", .T.}, {"NID", 5028}, {"HWNDTT", 10618034}, {"CAPTION", "Mapa"}, {"POINTERFOCUS", .F.}}}}, {"PWND", <pointer>}, {"WVGWINDOW:APOS", {0, 0}}, {"WVGWINDOW:ASIZE", {0, 0}}, {"WVGWINDOW:APRESPARAMS", {}}, {"NCONTROLID", 5028}, {"DRAWINGAREA", NIL}, {"HWND", 4457000}, {"APOS", {0, 0}}, {"ASIZE", {24, 79}}, {"APRESPARAMS", {}}, {"ISGT", .T.}}}, {"S_TOOLTIPTEXT", "I <Insert> Incluir novo"}, {"SL_LBCLICK", {|| ... }}, {"STYLE", 1073759232}, {"OBJTYPE", 9}, {"CLASSNAME", "BUTTON"}, {"HWND", 9176360}, {"PWND", <pointer>}, {"APOS", {-0.1, -0.1}}, {"ASIZE", {-2.5, -6}}, {"APRESPARAMS", {}}, {"LHASINPUTFOCUS", .T.}, {"NID", 5001}, {"HWNDTT", 7733984}, {"CAPTION", "Inclui"}, {"POINTERFOCUS", .F.}}}, {1, NIL}, {1, NIL}, {1, NIL}, {1, NIL}, {1, NIL}, {1, NIL}, {1, NIL}, {1, NIL}, {1, NIL}, {1, NIL}, {1, NIL}, {1, NIL}, {1, NIL}, {1, NIL}, {1, NIL}, {1, NIL}, {1, NIL}, {1, NIL}, {1, NIL}, {1, NIL}, {1, NIL}, {1, NIL}, {1, NIL}, {1, NIL}, {1, NIL}, {1, NIL}, {1, NIL}}}, {"XVALUES", {}}, {"FRMCADASTROCLASS:AXKEYVALUE", {" ", " ", " ", " ", " "}}, {"AXKEYVALUE", {18}}, {"CNSQL", {{"CN", {{"__HOBJ", <pointer>}}}, {"CSQL", "SELECT IDPEDIDO FROM JPPEDIDO ORDER BY IDPEDIDO DESC LIMIT 1"}}}}}, {{{1,8,2,1,2,3,2,1,2,1},{1,8,2,1,2}},{{1,8,2,1,2,3,2,1,2,2,3,2},{1,8,2,1,2,3,2}},{{1,8,2,1,2,3,2,1,2,3,3,2},{1,8,2,1,2,3,2}},{{1,8,2,1,2,3,2,1,2,4,3,2},{1,8,2,1,2,3,2}},{{1,8,2,1,2,3,2,1,2,5,3,2},{1,8,2,1,2,3,2}},{{1,8,2,1,2,3,2,1,2,6,3,2},{1,8,2,1,2,3,2}},{{1,8,2,1,2,3,2,1,2,7,3,2},{1,8,2,1,2,3,2}},{{1,8,2,1,2,3,2,1,2,8,3,2},{1,8,2,1,2,3,2}},{{1,8,2,1,2,3,2,1,2,9,3,2},{1,8,2,1,2,3,2}},{{1,8,2,1,2,3,2,1,2,10,3,2},{1,8,2,1,2,3,2}},{{1,8,2,1,2,3,2,1,2,11,3,2},{1,8,2,1,2,3,2}},{{1,8,2,1,2,3,2,1,2,12,3,2},{1,8,2,1,2,3,2}},{{1,8,2,1,2,3,2,1,2,13,3,2},{1,8,2,1,2,3,2}},{{1,8,2,1,2,3,2,1,2,14,3,2},{1,8,2,1,2,3,2}},{{1,8,2,1,2,3,2,1,2,15,3,2},{1,8,2,1,2,3,2}},{{1,8,2,1,2,3,2,1,2,16,3,2},{1,8,2,1,2,3,2}},{{1,8,2,1,2,3,2,1,2,17,3,2},{1,8,2,1,2,3,2}},{{1,8,2,1,2,3,2,1,2,18,3,2},{1,8,2,1,2,3,2}},{{1,8,2,1,2,3,2,1,2,19,3,2},{1,8,2,1,2,3,2}},{{1,8,2,1,2,3,2,1,2,20,3,2},{1,8,2,1,2,3,2}},{{1,8,2,1,2,3,2,1,2,21,3,2},{1,8,2,1,2,3,2}},{{1,8,2,1,2,3,2,1,2,22,3,2},{1,8,2,1,2,3,2}},{{1,8,2,1,2,3,2,1,2,23,3,2},{1,8,2,1,2,3,2}},{{1,8,2,1,2,3,2,1,2,24,3,2},{1,8,2,1,2,3,2}},{{1,8,2,1,2,3,2,1,2,25,3,2},{1,8,2,1,2,3,2}},{{1,8,2,1,2,3,2,1,2,26,3,2},{1,8,2,1,2,3,2}},{{1,8,2,1,2,3,2,1,2,27,3,2},{1,8,2,1,2,3,2}},{{1,8,2,1,2,3,2,1,2,28,3,2},{1,8,2,1,2,3,2}},{{1,8,2,1,2,3,2,7,2},{1,8,2,1,2,3,2}},{{1,8,2,2,2},{1,8,2,1,2,3,2,1,2,2}},{{1,8,2,3,2},{1,8,2,1,2,3,2,1,2,3}},{{1,8,2,4,2},{1,8,2,1,2,3,2,1,2,4}},{{1,8,2,5,2},{1,8,2,1,2,3,2,1,2,5}},{{1,8,2,6,2},{1,8,2,1,2,3,2,1,2,6}},{{1,8,2,7,2},{1,8,2,1,2,3,2,1,2,7}},{{1,8,2,8,2},{1,8,2,1,2,3,2,1,2,8}},{{1,8,2,9,2},{1,8,2,1,2,3,2,1,2,9}},{{1,8,2,10,2},{1,8,2,1,2,3,2,1,2,10}},{{1,8,2,11,2},{1,8,2,1,2,3,2,1,2,11}},{{1,8,2,12,2},{1,8,2,1,2,3,2,1,2,12}},{{1,8,2,13,2},{1,8,2,1,2,3,2,1,2,13}},{{1,8,2,14,2},{1,8,2,1,2,3,2,1,2,14}},{{1,8,2,15,2},{1,8,2,1,2,3,2,1,2,15}},{{1,8,2,16,2},{1,8,2,1,2,3,2,1,2,16}},{{1,8,2,17,2},{1,8,2,1,2,3,2,1,2,17}},{{1,8,2,18,2},{1,8,2,1,2,3,2,1,2,18}},{{1,8,2,19,2},{1,8,2,1,2,3,2,1,2,19}},{{1,8,2,20,2},{1,8,2,1,2,3,2,1,2,20}},{{1,8,2,21,2},{1,8,2,1,2,3,2,1,2,21}},{{1,8,2,22,2},{1,8,2,1,2,3,2,1,2,22}},{{1,8,2,23,2},{1,8,2,1,2,3,2,1,2,23}},{{1,8,2,24,2},{1,8,2,1,2,3,2,1,2,24}},{{1,8,2,25,2},{1,8,2,1,2,3,2,1,2,25}},{{1,8,2,26,2},{1,8,2,1,2,3,2,1,2,26}},{{1,8,2,27,2},{1,8,2,1,2,3,2,1,2,27}},{{1,8,2,28,2},{1,8,2,1,2,3,2,1,2,28}}} ), {{"BUTTON",{1,8,2,1,2,3,2,1,2,2}},{"BUTTON",{1,8,2,1,2,3,2,1,2,3}},{"BUTTON",{1,8,2,1,2,3,2,1,2,4}},{"BUTTON",{1,8,2,1,2,3,2,1,2,5}},{"BUTTON",{1,8,2,1,2,3,2,1,2,6}},{"BUTTON",{1,8,2,1,2,3,2,1,2,7}},{"BUTTON",{1,8,2,1,2,3,2,1,2,8}},{"BUTTON",{1,8,2,1,2,3,2,1,2,9}},{"BUTTON",{1,8,2,1,2,3,2,1,2,10}},{"BUTTON",{1,8,2,1,2,3,2,1,2,11}},{"BUTTON",{1,8,2,1,2,3,2,1,2,12}},{"BUTTON",{1,8,2,1,2,3,2,1,2,13}},{"BUTTON",{1,8,2,1,2,3,2,1,2,14}},{"BUTTON",{1,8,2,1,2,3,2,1,2,15}},{"BUTTON",{1,8,2,1,2,3,2,1,2,16}},{"BUTTON",{1,8,2,1,2,3,2,1,2,17}},{"BUTTON",{1,8,2,1,2,3,2,1,2,18}},{"BUTTON",{1,8,2,1,2,3,2,1,2,19}},{"BUTTON",{1,8,2,1,2,3,2,1,2,20}},{"BUTTON",{1,8,2,1,2,3,2,1,2,21}},{"BUTTON",{1,8,2,1,2,3,2,1,2,22}},{"BUTTON",{1,8,2,1,2,3,2,1,2,23}},{"BUTTON",{1,8,2,1,2,3,2,1,2,24}},{"BUTTON",{1,8,2,1,2,3,2,1,2,25}},{"BUTTON",{1,8,2,1,2,3,2,1,2,26}},{"BUTTON",{1,8,2,1,2,3,2,1,2,27}},{"BUTTON",{1,8,2,1,2,3,2,1,2,28}},{"WVGCRT",{1,8,2,1,2,3,2}},{"BUTTON",{1,8,2,1,2}},{"WIN_OLEAUTO",{1,12,2,1,2}},{"ADOCLASS",{1,12,2}},{"JPPEDIDOCLASS",{1}}} )
(2) = Tipo: C Valor: ""
Quem usa GUI já viu isso.
Pelo menos quem usa GUI orientada a objeto.
E que tem uma errorsys que mostra conteúdo das variáveis aonde aconteceu o erro.

É só a variável da minha classe, com objetos GTWVG, ADO, etc.
Coisa que não se vê em console, somente em GUI, e GTWVG é GUI.
Tem o handle das janelas/controles (HWND), mas tem o handle original em pointer (PWND), tem o handle de tooltip, etc.

Pois é... não é das melhores, mas uso GTWVG com controles GUI.
Alguma noção básica de GUI deu pra aprender nestes anos usando GTWVG, e sobre classes.

Uia pra mensagens

Enviado: 06 Jan 2025 19:11
por JoséQuintas
Estranhei a mensagem de erro mostrar ValType() = "A" , já que deveria ser uma classe.
Tá errado aqui

Código: Selecionar todos

         Atail( AppForms():SetMsg( cTexto ) )
Atail() retorna o último da lista, mas não fechei parêntesis no lugar certo.
Acabou usando o array de forms e não o último form. kkkkk

Código: Selecionar todos

         Atail( AppForms() ):SetMsg( cTexto ) 

Uia pra mensagens

Enviado: 06 Jan 2025 19:13
por JoséQuintas
A propósito, a alteração foi esta na rotina de mensagens:

Código: Selecionar todos

      IF AppUserLevel() == 0 .AND. Len( AppForms() ) != 0
         Atail( AppForms() ):SetMsg( cTexto ) 
      ELSE
         @ MaxRow() - 1, 0 CLEAR TO MaxRow(), MaxCol()
Na minha senha vai usar a barra de status pra mensagem.

Uia pra mensagens

Enviado: 07 Jan 2025 20:11
por JoséQuintas
Desisti dela, de novo.
API Windows default é ultrapassada, e a letra fica muito pequena.
Não estou a fim nem de tentar mudar letra, volta como estava antes, mas talvez não preta, porque preta dá a impressão de que a tela terminou antes do tempo.
Pra GTWVG tanto faz, qualquer coisa fica igual barra de status, já que o redimensionamento faz o trabalho de deixar sempre no lugar certo.