Página 1 de 1
rmchart na hwgui
Enviado: 24 Out 2024 09:39
por JoséQuintas
Para o RMChart é usado o hWnd.
Na hwgui não temos acesso à tabpage, ela não tem handle.
Alguma sugestão ?
Um panel em cada tabpage ?
rmchart na hwgui
Enviado: 24 Out 2024 11:54
por JoséQuintas
RMChart só precisa do hWnd.
Em GTWVG tudo bem, uso janelas, só usar o handle das janelas
Em fivewin ficou assim:
Código: Selecionar todos
DEFINE DIALOG oDlg TITLE "Pruebas" SIZE 1024, 748 PIXEL
@ 0,0 FOLDEREX oFld PROMPT "A", "B", "C", "D", "E", "F", "G", "H", "I", "J" SIZE 900, 700 OF oDlg PIXEL
ACTIVATE DIALOG oDlg CENTER ON INIT ( (Self), DrawAll( oFld ) )
RETURN NIL
FUNCTION DrawAll( oFld )
Graphic1( oFld:aDialogs[1]:hWnd )
Graphic2( oFld:aDialogs[2]:hWnd )
Graphic3( oFld:aDialogs[3]:hWnd )
Graphic4( oFld:aDialogs[4]:hWnd )
Graphic5( oFld:aDialogs[5]:hWnd )
Graphic6( oFld:aDialogs[6]:hWnd )
Graphic7( oFld:aDialogs[7]:hWnd )
Graphic8( oFld:aDialogs[8]:hWnd )
Graphic9( oFld:aDialogs[9]:hWnd )
Graphic10( oFld:aDialogs[10]:hWnd )
RETURN Nil
Agora em HWGUI, sei lá, page não tem handle, pelo menos não dá pra saber
Alteração parcial, falta o handle
Código: Selecionar todos
INIT DIALOG oDlg ;
TITLE "hwgui" SIZE 1024, 748
@ 5, 5 TAB oFld ;
ITEMS {} ;
OF oDlg ;
SIZE 900, 700 ;
STYLE WS_CHILD + WS_VISIBLE
ACTIVATE DIALOG oDlg CENTER ON ACTIVATE { || DrawAll( oFld ) }
RETURN NIL
FUNCTION DrawAll( oFld )
BEGIN PAGE "A" OF oFld
Graphic1( oFld:aDialogs[1]:hWnd )
END PAGE
BEGIN PAGE "B" OF oFld
Graphic2( oFld:aDialogs[2]:hWnd )
END PAGE
BEGIN PAGE "B" OF oFld
Graphic3( oFld:aDialogs[3]:hWnd )
END PAGE
BEGIN PAGE "B" OF oFld
Graphic4( oFld:aDialogs[4]:hWnd )
END PAGE
BEGIN PAGE "B" OF oFld
Graphic5( oFld:aDialogs[5]:hWnd )
END PAGE
BEGIN PAGE "B" OF oFld
Graphic6( oFld:aDialogs[6]:hWnd )
END PAGE
BEGIN PAGE "B" OF oFld
Graphic7( oFld:aDialogs[7]:hWnd )
END PAGE
BEGIN PAGE "B" OF oFld
Graphic8( oFld:aDialogs[8]:hWnd )
END PAGE
BEGIN PAGE "B" OF oFld
Graphic9( oFld:aDialogs[9]:hWnd )
END PAGE
BEGIN PAGE "B" OF oFld
Graphic10( oFld:aDialogs[10]:hWnd )
END PAGE
RETURN Nil
Só resta criar um panel, se tiver handle, ou usar várias dialogs igual GTWVG.
O handle vai ser a localização exata da janela usada pelo controle, handle da tab não é handle da page.
rmchart na hwgui
Enviado: 24 Out 2024 12:09
por JoséQuintas
Deu erro de IF/ENDIF kkkkkkkk
Código: Selecionar todos
FUNCTION DrawAll( oFld )
LOCAL oPanel
oPanel := Array(10)
BEGIN PAGE "A" OF oFld
@ 10, 10 PANEL oPanel[1] OF oFld SIZE 900, 600
Graphic1( oPanel[1]:hWnd )
END PAGE
BEGIN PAGE "B" OF oFld
@ 10, 10 PANEL oPanel[2] OF oFld SIZE 900, 600
Graphic2( oPanel[2]:hWnd )
END PAGE
BEGIN PAGE "B" OF oFld
@ 10, 10 PANEL oPanel[3] OF oFld SIZE 900, 600
Graphic3( oPanel[3]:hWnd )
END PAGE
BEGIN PAGE "B" OF oFld
@ 10, 10 PANEL oPanel[4] OF oFld SIZE 900, 600
Graphic4( oPanel[4]:hWnd )
END PAGE
BEGIN PAGE "B" OF oFld
@ 10, 10 PANEL oPanel[5] OF oFld SIZE 900, 600
Graphic5( oPanel[5]:hWnd )
END PAGE
BEGIN PAGE "B" OF oFld
@ 10, 10 PANEL oPanel[6] OF oFld SIZE 900, 600
Graphic6( oPanel[6]:hWnd )
END PAGE
BEGIN PAGE "B" OF oFld
@ 10, 10 PANEL oPanel[7] OF oFld SIZE 900, 600
Graphic7( oPanel[7]:hWnd )
END PAGE
BEGIN PAGE "B" OF oFld
@ 10, 10 PANEL oPanel[8] OF oFld SIZE 900, 600
Graphic8( oPanel[8]:hWnd )
END PAGE
BEGIN PAGE "B" OF oFld
@ 10, 10 PANEL oPanel[9] OF oFld SIZE 900, 600
Graphic9( oPanel[9]:hWnd )
END PAGE
BEGIN PAGE "B" OF oFld
@ 10, 10 PANEL oPanel[10] OF oFld SIZE 900, 600
Graphic10( oPanel[10]:hWnd )
END PAGE
RETURN Nil
Harbour 3.2.0dev (r2405310955)
Copyright (c) 1999-2021,
https://harbour.github.io/
testhwgui.prg:33: error E0010 ENDIF does not match IF
testhwgui.prg:37: error E0010 ENDIF does not match IF
testhwgui.prg:41: error E0010 ENDIF does not match IF
testhwgui.prg:45: error E0010 ENDIF does not match IF
testhwgui.prg:49: error E0010 ENDIF does not match IF
testhwgui.prg:53: error E0010 ENDIF does not match IF
testhwgui.prg:57: error E0010 ENDIF does not match IF
testhwgui.prg:61: error E0010 ENDIF does not match IF
testhwgui.prg:65: error E0010 ENDIF does not match IF
testhwgui.prg:69: error E0010 ENDIF does not match IF
10 errors
rmchart na hwgui
Enviado: 24 Out 2024 12:17
por JoséQuintas
Pronto, funcional em hwgui também, movimentando entre tabpages.
Usando um PANEL em cada tabpage.
Sou péssimo de visual, e ainda não gosto de GUI, posições e tamanhos de qualquer jeito.
Código: Selecionar todos
FUNCTION DrawAll( oFld )
LOCAL oPanel
oPanel := Array(10)
BEGIN PAGE "A" OF oFld
@ 40, 40 PANEL oPanel[1] OF oFld SIZE 900, 600
Graphic1( oPanel[1]:Handle )
END PAGE OF oFld
BEGIN PAGE "B" OF oFld
@ 40, 40 PANEL oPanel[2] OF oFld SIZE 900, 600
Graphic2( oPanel[2]:Handle )
END PAGE OF oFld
BEGIN PAGE "C" OF oFld
@ 40, 40 PANEL oPanel[3] OF oFld SIZE 900, 600
Graphic3( oPanel[3]:Handle )
END PAGE OF oFld
BEGIN PAGE "D" OF oFld
@ 40, 40 PANEL oPanel[4] OF oFld SIZE 900, 600
Graphic4( oPanel[4]:Handle )
END PAGE OF oFld
BEGIN PAGE "E" OF oFld
@ 40, 40 PANEL oPanel[5] OF oFld SIZE 900, 600
Graphic5( oPanel[5]:Handle )
END PAGE OF oFld
BEGIN PAGE "F" OF oFld
@ 40, 40 PANEL oPanel[6] OF oFld SIZE 900, 600
Graphic6( oPanel[6]:Handle )
END PAGE OF oFld
BEGIN PAGE "G" OF oFld
@ 40, 40 PANEL oPanel[7] OF oFld SIZE 900, 600
Graphic7( oPanel[7]:Handle )
END PAGE OF oFld
BEGIN PAGE "H" OF oFld
@ 40, 40 PANEL oPanel[8] OF oFld SIZE 900, 600
Graphic8( oPanel[8]:Handle )
END PAGE OF oFld
BEGIN PAGE "I" OF oFld
@ 40, 40 PANEL oPanel[9] OF oFld SIZE 900, 600
Graphic9( oPanel[9]:Handle )
END PAGE OF oFld
BEGIN PAGE "J" OF oFld
@ 40, 40 PANEL oPanel[10] OF oFld SIZE 900, 600
Graphic10( oPanel[10]:Handle )
END PAGE OF oFld
RETURN Nil
Se alguém tiver dica pra melhorar isso, seria bom.
Foi o jeito que encontrei de fazer.
São 10 gráficos diferentes, um em cada tabpage.
rmchart na hwgui
Enviado: 25 Out 2024 11:30
por SOSSOFT
Fica um visual muito bom
rmchart na hwgui
Enviado: 29 Out 2024 11:04
por alaminojunior
JoséQuintas escreveu:telahwgui.png
Pronto, funcional em hwgui também, movimentando entre tabpages.
Usando um PANEL em cada tabpage.
Sou péssimo de visual, e ainda não gosto de GUI, posições e tamanhos de qualquer jeito.
Código: Selecionar todos
FUNCTION DrawAll( oFld )
LOCAL oPanel
oPanel := Array(10)
BEGIN PAGE "A" OF oFld
@ 40, 40 PANEL oPanel[1] OF oFld SIZE 900, 600
Graphic1( oPanel[1]:Handle )
END PAGE OF oFld
BEGIN PAGE "B" OF oFld
@ 40, 40 PANEL oPanel[2] OF oFld SIZE 900, 600
Graphic2( oPanel[2]:Handle )
END PAGE OF oFld
BEGIN PAGE "C" OF oFld
@ 40, 40 PANEL oPanel[3] OF oFld SIZE 900, 600
Graphic3( oPanel[3]:Handle )
END PAGE OF oFld
BEGIN PAGE "D" OF oFld
@ 40, 40 PANEL oPanel[4] OF oFld SIZE 900, 600
Graphic4( oPanel[4]:Handle )
END PAGE OF oFld
BEGIN PAGE "E" OF oFld
@ 40, 40 PANEL oPanel[5] OF oFld SIZE 900, 600
Graphic5( oPanel[5]:Handle )
END PAGE OF oFld
BEGIN PAGE "F" OF oFld
@ 40, 40 PANEL oPanel[6] OF oFld SIZE 900, 600
Graphic6( oPanel[6]:Handle )
END PAGE OF oFld
BEGIN PAGE "G" OF oFld
@ 40, 40 PANEL oPanel[7] OF oFld SIZE 900, 600
Graphic7( oPanel[7]:Handle )
END PAGE OF oFld
BEGIN PAGE "H" OF oFld
@ 40, 40 PANEL oPanel[8] OF oFld SIZE 900, 600
Graphic8( oPanel[8]:Handle )
END PAGE OF oFld
BEGIN PAGE "I" OF oFld
@ 40, 40 PANEL oPanel[9] OF oFld SIZE 900, 600
Graphic9( oPanel[9]:Handle )
END PAGE OF oFld
BEGIN PAGE "J" OF oFld
@ 40, 40 PANEL oPanel[10] OF oFld SIZE 900, 600
Graphic10( oPanel[10]:Handle )
END PAGE OF oFld
RETURN Nil
Se alguém tiver dica pra melhorar isso, seria bom.
Foi o jeito que encontrei de fazer.
São 10 gráficos diferentes, um em cada tabpage.
Não é exatamente para a mesma coisa, mas numa rotina aqui com TAB´s não consigo acesso a uma determinada TAB, a não ser que esteja nela.
E por isso uso:
Quem sabe ...
rmchart na hwgui
Enviado: 29 Out 2024 11:35
por JoséQuintas
Não, isso não dá.
RMChart usa o handle da janela, seria uma referência direta para a janela usada pelo controle.
Nem faz diferença se o foco estiver em outro lugar.
Teria que ser o handle da página mesmo.
No caso do panel, ele fica na page, e o panel tem um handle direto.
O que vi pelos fontes é que "parece", pelo menos pelo nome, que dá pra indicar uma dialog pra ser a page.
Se isso for realmente possível, aí a dialog teria o handle.
Não testei, pode ser que apenas o nome seja oDlg, e não o conteúdo ser dialog.