Treeview, listbox, combobox, label, checkbox, GTWVG/etc

Aqui você poderá oferecer suas Contribuições, Dicas e Tutoriais (Texto ou Vídeo) que sejam de interesse de todos.

Moderador: Moderadores

Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Treeview, listbox, combobox, label, checkbox, GTWVG/etc

Mensagem por JoséQuintas »

Só teste simples, extraído de exemplos da gtwvg ou adicionados
Precisei do InvalidateRect() no treeview e na progressbar pra atualizar tela.
São originais da gtwvg, são API Windows, são totalmente OOP.

Código: Selecionar todos

#include "gtwvg.ch"
#include "inkey.ch"

PROCEDURE Main

   LOCAL oCrt

   SetMode(30,100)
   SetColor( "W/B" )
   CLS
   oCrt := wvgSetAppWindow()

   BuildTree( oCrt )
   BuildListBox( oCrt )
   BuildTextbox( oCrt )
   BuildCheckbox( oCrt )
   BuildCombobox( oCrt )
   BuildCheckbutton( oCrt )
   BuildTextboxMultiline( oCrt )
   BuildStatusbar( oCrt )
   BuildToolbar( oCrt )
   BuildGroupbox( oCrt )
   BuildProgressbar( oCrt )
   Inkey(0)

   RETURN

STATIC FUNCTION BuildTree( oCrt )

   LOCAL oTree, oItem1, oItem2

   WITH OBJECT oTree := WvgTreeView():new( oCrt )
      :hasLines   := .T.
      :hasButtons := .T.
      :alwaysShowSelection := .T.
      :create( , , { -6, -1 }, { -15, -15 } )
      :setColorFG( "W+" )
      :setColorBG( "R*" )
      :itemSelected := {| oItem | wvg_MessageBox( , iif( oItem != NIL, oItem:caption, "Some Problem" ) ) }

      oItem1 := oTree:rootItem:addItem( "First level A" )

      :rootItem:addItem( "First level B" )

      oItem2 := oItem1:addItem( "Second level 1" )
      oItem1:addItem( "Second level 2" )

      oItem2:addItem( "Third level x" )
      oItem2:addItem( "Third level y" )
      oItem2:addItem( "Third level z" )

      :showExpanded( .T., 2 )
      :setData( oItem2 )

      :tooltipText := "Treeview embedded onto CUI window"
      :InvalidateRect()
   ENDWITH

   RETURN oTree

STATIC FUNCTION BuildListBox( oCrt )

   LOCAL oControl, nCont

   WITH OBJECT oControl := WvgListBox():new( oCrt )
      :create( , , { -6, -20 }, { -10, -10 }, , .T. )
      :setColorFG( "W+" )
      :setColorBG( "B*" )
      //:itemMarked := {| m1, m2, o | m1 := m1, m2 := m2, BrwShowColumn( oBrw, o:getCurItem() ) }
      FOR nCont = 1 TO 9
         :addItem( Replicate( Chr(64+nCont), 10 ) )
      NEXT
      :setData( 1 )
      :tooltipText := "Click on a field name to make it active!"
   ENDWITH

   RETURN oControl

STATIC FUNCTION BuildCombobox( oCrt )

   LOCAL oControl

   WITH OBJECT oControl := WvgComboBox():new( oCrt )
      :type := WVGCOMBO_DROPDOWN
      :create( , , { -6, -40 }, { -5, -10 }, , .T. )
      :setColorFG( "W+" )
      :setColorBG( "B*" )
      //:itemMarked := {| m1, m2, o | m1 := m2, BrwSetThisOrder( oBrw, o:XbpListBox:getData() - 1 ) }
      :addItem( "Natural Order" )
      :AddItem( "teste1111" )
      :AddItem( "teste2222" )
      :AddItem( "teste3333" )
      :tooltipText := "Click on an index to order database!"
   ENDWITH

   RETURN oControl

STATIC FUNCTION BuildTextbox( oCrt )

   LOCAL oControl1, oControl2

   WITH OBJECT oControl1 := WvgStatic():new( oCrt )
      :type    := WVGSTATIC_TYPE_TEXT
      :options := WVGSTATIC_TEXT_CENTER
      :caption := "Field Name"
      :create( , , { -6, -60 }, { -1, -10 } )
      :setColorFG( "W+" )
      :setColorBG( "BG" )
   ENDWITH
   WITH OBJECT oControl2 := WvgSLE():new( oCrt )
      :create( , , { -8, -60 }, { -1, -10 } )
      :setColorFG( "N"  )
      :setColorBG( "BG+"  )
      //:returnPressed := {| m1, m2, o | m1 := m1, m2 := m2, BrwShowColumn( oBrw, Upper( RTrim( o:getData() ) ) ) }
      :tooltipText := "Type in a field name and press ENTER"
   ENDWITH

   RETURN { oControl1, oControl2 }

STATIC FUNCTION BuildCheckBox( oCrt )

   LOCAL oControl

   WITH OBJECT oControl := WvgCheckBox():new( oCrt )
      :pointerFocus := .F.
      :caption      := "checkbox"
      //:selected     := {| x, y, o | x := y, lActiveX := o:getData(), wvt_Keyboard( HB_K_RESIZE ) }
      :selection    := .F.
      :create( , , { -10, -40 }, { -1, -10 } )
      :setColorFG( "R+" )
      :setColorBG( "W" )
      :tooltipText  := "Navigate: "
   ENDWITH

   RETURN oControl

STATIC FUNCTION BuildCheckbutton( oCrt )

   LOCAL oControl

   WITH OBJECT oControl := wvg3state():New( oCrt )
      :Caption := "3dstate"
      :Create( , , { -10, -60 }, { -1, -10 } )
   ENDWITH

   RETURN oControl

STATIC FUNCTION BuildTextboxMultiline( oCrt )

   LOCAL oControl, cText := "this is" + hb_Eol() + "a multiline" + hb_Eol() + "textbox" + hb_Eol()

   WITH OBJECT oControl    := WvgMLE():new( oCrt )
      :wordWrap := .F.
      :border   := .T.
      :dataLink := {| x | iif( x == NIL, cText, cText := x ) }
      :create( , , { -6, -75 }, { -5, -20 } )
      // Copy text from LOCAL variable into edit buffer via :dataLink
      :setData()
   ENDWITH

   RETURN oControl

STATIC FUNCTION BuildStatusbar( oCrt )

   LOCAL oSBar, oPanel, oPanel1, oPanel2

   oSBar   := WvgStatusBar():new( oCrt )
   OSBar:create( , , , , , .T. )
   oSBar:panelClick := {| oPanel | wvg_MessageBox( , oPanel:caption ) }
   oPanel  := oSBar:getItem( 1 )
   oPanel:caption := "My Root Panel"
   oPanel1 := oSBar:addItem()
   oPanel1:caption := "Ready"
   oPanel2 := oSBar:addItem()
   oPanel2:caption := "Click on any part!"

   RETURN oSBar

STATIC FUNCTION BuildToolBar( oCrt )

   LOCAL oControl

   WITH OBJECT oControl := WvgToolBar():new( oCrt, , { 0, 0 }, { 0, 0 }, , .T. )
      :style        := WVGTOOLBAR_STYLE_FLAT
      :borderStyle  := WVGFRAME_RECT
      :buttonWidth  := 28
      :buttonHeight := 26
      :imageWidth   := 26
      :imageHeight  := 24
      :showToolTips := .T.
      :create( oCrt)

      :addItem( "New"       , hb_DirBase() + "v_new.bmp"    )
      :addItem( "Select"    , hb_DirBase() + "v_selct1.bmp" )
      :addItem()
      :addItem( "FontDlg"   , hb_DirBase() + "v_calend.bmp" )
      :addItem( "Tools"     , hb_DirBase() + "v_lock.bmp"   )
      :addItem( "Index"     , hb_DirBase() + "v_index.bmp"  )
      :addItem()
      :addItem( "Show"      , hb_DirBase() + "v_clclt.bmp"  )
      :addItem( "Hide"      , hb_DirBase() + "v_notes1.bmp" )
   ENDWITH

   RETURN oControl

FUNCTION BuildProgressbar( oCrt )

   LOCAL oControl

   WITH OBJECT oControl := wvgProgressbar():New()
      :Create( oCrt,, { -15, -40 }, { -2, -15 } )
      :SetValue( 50, 1, 100 )
      :InvalidateRect()
   ENDWITH

   RETURN oControl

FUNCTION BUildGroupbox( oCrt )

   LOCAL oControl := Nil

   //WITH OBJECT oControl := wvgtstGroupBox():New()
   //   :cText := "not gtwvg"
   //   :Create( oCrt, , { -15, -60 }, { -5, -Len( :cText ) - 4 } )
   //   :InvalidateRect()
   //ENDWITH
   (oCrt)

   RETURN oControl
gtwvg.png
toolbar, treeview, listbox, combobox, checkbox, label, textbox (SLE), 3dState(?), textbox multiline (MLE), statusbar, progressbar, groupbox (não acertei o da gtwvg)
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Treeview, listbox, combobox, label, checkbox, textbox

Mensagem por JoséQuintas »

Código: Selecionar todos

 Pasta de d:\github\harbour32\contrib\gtwvg

07/03/2024  17:56             5.329 3state.prg
07/03/2024  17:56             7.905 activex.prg
07/03/2024  17:56             4.100 bitmap.prg
07/03/2024  17:56             6.456 checkbox.prg
07/03/2024  17:56            87.577 class.prg
07/03/2024  17:56             9.461 combobox.prg
08/04/2024  12:41            26.482 crt.prg
07/03/2024  17:56             6.014 dataref.prg
07/03/2024  17:56             6.746 dialog.prg
07/03/2024  17:56             4.325 drawarea.prg
07/03/2024  17:56             3.075 genrc.prg
07/03/2024  17:56             7.880 htmlview.prg
07/03/2024  17:56            10.412 listbox.prg
07/03/2024  17:56            15.447 menubar.prg
07/03/2024  17:56             8.790 mle.prg
07/03/2024  17:56            22.418 paint.prg
07/03/2024  17:56            16.404 parthdlr.prg
07/03/2024  17:57             7.472 progrbar.prg
07/03/2024  17:56             9.342 pushbut.prg
07/03/2024  17:56             4.785 radiobut.prg
07/03/2024  17:56             9.770 scrollbr.prg
07/03/2024  17:56             8.571 sle.prg
07/03/2024  17:56             8.909 statbar.prg
07/03/2024  17:56             8.364 static.prg
07/03/2024  17:56            15.758 syswnd.prg
07/03/2024  17:56             6.236 tabpage.prg
07/03/2024  17:56            12.870 toolbar.prg
07/03/2024  17:56            12.266 treeview.prg
07/03/2024  17:56            32.352 wnd.prg
Falta exemplo pra:

- activex
- bitmap
- button
- crt
- dialog
- groupbox (usei o meu, o da gtwvg parece não concluído)
- menubar
- radiobutton
- scrollbar
- static (vários neste grupo)
- tabpage

e os outros que tenho aqui.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Treeview, listbox, combobox, label, checkbox, textbox

Mensagem por JoséQuintas »

Pra não alongar muito o post, vou atualizando os anteriores.
Na GTWVG é o Windows quem desenha, isso deixa tudo no padrão, o que hoje em dia não é bom, e pode deixar a tela meio estranha em certas situações, assim como em LIBs que façam a mesma coisa do mesmo jeito.

Apenas mostrando os controles, nada além disso.
Quem quiser só ter algum "enfeite" a mais na tela, é só usar.
Só é bom saber que eles existem, e não somente na GTWVG, já que fazem parte do Windows e qualquer LIB pode usar.
GUI não se limita a esses controles, e não são esses controles que fazem a diferença.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Treeview, listbox, combobox, label, checkbox, GTWVG/etc

Mensagem por JoséQuintas »

É comum em todas as LIBs GUI, incluindo GTWVG:
CADA controle desses acima é uma janela.
Fica parecendo multithread.
Igual janela de aplicativo: sabe aquilo de clicar na janela do aplicativo, como office, outlook, editor de textos, etc. pro aplicativo receber o foco? então.... isso acontece também internamente no aplicativo, o aplicativo precisa controlar tudo isso.
Esse foco interno é transparente ao usuário, e também ao programador, mas ele acontece o tempo todo.

É bom saber disso pra contornar eventuais problemas, seja a LIB que for, até GTWVG.

Por exemplo:
Uso o button pra fazer KEYBOARD.
Coloco lá e funciona.
Em outras LIBs parece não funcionar.
NÃO é exatamente isso.
KEYBOARD no button é.... KEYBOARD no button, e não na janela do aplicativo.
Lembram? como aplicativo diferente, janela diferente.

Não precisa saber disto, é curiosidade apenas, geralmente a LIB se encarrega disso:

Código: Selecionar todos

METHOD WvgPushButton:handleEvent( nMessage, aNM )
...
   CASE nMessage == HB_GTE_COMMAND
      IF aNM[ 1 ] == BN_CLICKED
         IF HB_ISBLOCK( ::sl_lbClick )
            IF ::isParentCrt()
               ::oParent:setFocus()
            ENDIF
            Eval( ::sl_lbClick, , , Self )
            IF ::pointerFocus
               ::setFocus()
            ENDIF
         ENDIF
         RETURN EVENT_HANDELLED
      ENDIF
No fonte do "aplicativo button", tem lá a rotina de eventos.
Quando é clique, antes de executar o codeblock com KEYBOARD, o foco é alterado pra janela do aplicativo, como a gente faz no windows de clicar com o mouse. Só depois disso é que executa o codeblock/KEYBOARD.
Se fosse fazer isso com minigui, hwgui, etc. mais prático enviar uma mensagem pra dialog/janela, ou com SendKeys() ou com SendMessage() que será recebido pela rotina de eventos da janela principal/dialog, elas também já gerenciam isso.
Na GTWVT também podemos definir :PointerFocus := .F., assim o button nunca fica com o foco.
Note no fonte que não é nada automático, a rotina decide se o foco vai ficar no button ou na dialog, baseado nessa variável.

Imagine uma lista de GETs/textbox: pensa que ENTER muda de um pro outro automático ? no Windows não, quem faz isso é a LIB, ou o usuário com algum fonte adicional.

Acontecem coisas assim em TODAS as libs que usam GUI.
Apenas não vemos, porque é a LIB que internamente vai fazendo as coisas.
Eventualmente a LIB pode precisar de ajuda, e fazemos manual.
É por coisas assim, que quanto mais usuários tem a LIB, mais situações estão resolvidas.
Essa é apenas UMA das muitas situações existentes, e diria que uma das mais simples.

Essa é inclusive a situação que limita o uso de TEXTBOX ou TAB na GTWVG: desviar o foco pra tab ou textbox vai tirar o foco da janela, GTWVG não tem todo controle necessário pra isso numa tela GT normal, pro usuário vai parecer que travou tudo.
O usuário vai dar ESC no textbox/get, mas esse ESC não vai chegar nunca na janela do aplicativo - provavelmente dá pra alterar isso, mas hoje/agora não está preparado pra esse uso.

Embutido na WVG tem a WGU, WGU é a janela GUI, pra usar tudo como GUI.
Como eu disse antes, quanto mais usuários mais problemas resolvidos, não serão meia dúzia de usuários que irão causar mudanças na GTWVG, então acho que não compensa ir por esse caminho, é só pra saber que existe a opção.

Se for partir pra GUI, use a LIB que possui mais usuários, que terá mais recursos e mais situações resolvidas.
Sim, tem essa também: mais usuários, mais necessidades, mais recursos, e mais situações novas pra resolver.
É... de repente quer um "GET" que tenha um button dentro do GET pra fazer pesquisa, e não um "GET" com button separado.
Internamente isso é uma mudança radical, precisa fonte na LIB/controle tratando essa situação.
Tem LIB que tem isso pronto, tem lib que não.
É aí que começa o fator de escolha de LIB, e não é iniciante que vai precisar disso, iniciante nem sabe que isso existe ou que isso é diferente. E se nenhum usuário precisar, a lib não vai fazer. Por isso, quanto mais usuários melhor, porque precisaram de muita coisa e fizeram muita coisa.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Treeview, listbox, combobox, label, checkbox, GTWVG/etc

Mensagem por JoséQuintas »

hmge.png
Tem lib que tem.
A documentação diz que é baseada na bostaurus.
Eu adaptei bostaurus pra uso na GTWVG, e o A.Simões adaptou pra uso na hwgui.
A possibilidade de ter em todas é grande, desde que alguém faça.

Pois é, onde tem união tem tudo, onde é cada um por si fica limitado.

Mais prático usar a LIB que tem, e abandonar a que não tem, aonde isso seja importante.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Treeview, listbox, combobox, label, checkbox, GTWVG/etc

Mensagem por JoséQuintas »

menu.png
Tem lib que tem esse menu mais moderninho.

A idéia deste post é mostrar o que existe em GUI, sem ter que vasculhar exemplos.
Quem nunca usou GUI não tem idéia do que existe, ou se alguma lib pra harbour tem.

Qual LIB é melhor ?
É tudo igual ?

Se ficar olhando só menu, textbox, label e tab, parece tudo igual.
Tem LIB que tem coisa a mais, tem LIB que tem coisa a menos, e a diferença pode ser grande.
Melhor ter coisa sobrando do que faltando.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Treeview, listbox, combobox, label, checkbox, GTWVG/etc

Mensagem por JoséQuintas »

hmg.png
GTWVG tem treeview, mas não tem nem comparação.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Treeview, listbox, combobox, label, checkbox, GTWVG/etc

Mensagem por JoséQuintas »

getbox.png
getbox.png (11.49 KiB) Exibido 5125 vezes
Estava procurando uma coisa e achei outra.
getbox com botões, inclusive mais de um.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Treeview, listbox, combobox, label, checkbox, GTWVG/etc

Mensagem por JoséQuintas »

tabcolor.png
tab colorida, cada aba de uma cor.

Quando fui fazer menos que isso na hwgui tive que usar um panel por cima da tab.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Treeview, listbox, combobox, label, checkbox, GTWVG/etc

Mensagem por JoséQuintas »

https://www.youtube.com/watch?v=r7486InmFgY



Não sei no que vou usar algo desse tipo, mas é interessante.

A primeira coisa pra programar em GUI é: não programar
Tem que buscar o máximo de exemplos, pra ver as opções.

Nem imagino o que deve ter no FIVEWIN.

Nota:
Vários recursos da HMG Extended vieram da HMG 3, vários existem em HMG 3, HMG Extended e OOHG.
Das outras vezes que testei os exemplos não funcionavam tão bem quanto desta vez.
Acho que deram uma revisada em tudo.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Treeview, listbox, combobox, label, checkbox, GTWVG/etc

Mensagem por JoséQuintas »

panel.png
Lembro de ter visto um desses na HMG3, esse é do fivewin.
Talvez dê pra fazer com o PANEL da hwgui.
Provavelmente dê pra fazer com window type panel da hmg.

É o tipo de coisa que a gente nem imagina colocar no aplicativo, se não ver que isso tem disponível.
Com certeza GTWVG nunca vai ter isso, apesar de possível em qualquer lib, inclusive nela.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Treeview, listbox, combobox, label, checkbox, GTWVG/etc

Mensagem por JoséQuintas »

graph.png
Voltar atrás nesses gráficos da HMG Extended - tem nas outras miniguis também
Saibam que os gráficos são gerados em formato BMP/padrão windows.

Sabem o que isso significa ?
Pode imprimir
Pode colocar em qualquer janela
Pode colocar em janela HWGUI, GTWVG ou outra.
Pode fazer mix de LIBs, e mostrar em janela minigui mesmo.
Pode simplesmente deixar em EXE separado usando HMGE mesmo.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Treeview, listbox, combobox, label, checkbox, GTWVG/etc

Mensagem por JoséQuintas »

sfive.png
Um exemplo legal do fivewin.
Acho que dá pra fazer em outras LIBs também.
Estilo da configuração do Windows 10/11.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Treeview, listbox, combobox, label, checkbox, GTWVG/etc

Mensagem por JoséQuintas »

oohg.png
um exemplo de OOHG.
o "picker" de partes do texto.
Também checkbox e picker ao mesmo tempo.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Treeview, listbox, combobox, label, checkbox, GTWVG/etc

Mensagem por JoséQuintas »

calendar.png
Não é controle específico.
É apenas mais um uso do tsbrowse.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Responder