hwGui, ToolBar, Buttom DropDown Menu

Projeto HwGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

Ana Mitoooo
Usuário Nível 3
Usuário Nível 3
Mensagens: 118
Registrado em: 17 Out 2018 10:00
Localização: Sobradinho/DF

hwGui, ToolBar, Buttom DropDown Menu

Mensagem por Ana Mitoooo »

Como criar menu DropDown na ToolBar (PANEL) ?
Imagem
*Só encontrei opção de OWNERBUTTON para uso
Obg
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

hwGui, ToolBar, Buttom DropDown Menu

Mensagem por Itamar M. Lins Jr. »

Olá!
E pode ? Nunca vi.

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

hwGui, ToolBar, Buttom DropDown Menu

Mensagem por alxsts »

Olá!

Veja se o tópico TOOLBUTTON Com BOTÃOMenu WHOLEDROPDOWN ajuda.
[]´s
Alexandre Santos (AlxSts)
Ana Mitoooo
Usuário Nível 3
Usuário Nível 3
Mensagens: 118
Registrado em: 17 Out 2018 10:00
Localização: Sobradinho/DF

hwGui, ToolBar, Buttom DropDown Menu

Mensagem por Ana Mitoooo »

alxsts escreveu:Olá!
Veja se o tópico [...] ajuda.
Ajudou sim, agradeço a indicação.
na versão 2.2.3 ( atual ) o recurso esta disponível somente para Linux via GTK
https://sourceforge.net/projects/hwgui/

Na versão 2.17 esta habilitado também no Windows(Basso/Marcos Gambeta)
https://github.com/marcosgambeta/HWGUI/tree/master
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

hwGui, ToolBar, Buttom DropDown Menu

Mensagem por Itamar M. Lins Jr. »

Olá!
Rodou aqui, na versão do SVN.
Não sei como habilitar o MENU a sintaxe como é.
Mas eu coloquei MENU {{}} e não deu erro mas também não abriu.

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Ana Mitoooo
Usuário Nível 3
Usuário Nível 3
Mensagens: 118
Registrado em: 17 Out 2018 10:00
Localização: Sobradinho/DF

hwGui, ToolBar, Buttom DropDown Menu

Mensagem por Ana Mitoooo »

Código: Selecionar todos

   //ToolBar - Ok
   @ 1,-1 TOOLBAR oToolBar SIZE hwg_Getdesktopwidth(), 72 STYLE WS_DLGFRAME + TBSTYLE_AUTOSIZE + TBSTYLE_TRANSPARENT

      //Buttom - Não aparece
      oToolBar:AddButton("Teste1",, 0,  16, "Teste 01" ,{|| Hwg_msginfo( 'ok' ) },'Mensagem Teste 01','', "oToolbutton1")
      oToolBar:AddButton("Teste2",, 0,  16, "Teste 02" ,{|| Hwg_msginfo( 'ok, ok' ) },'Mensagem Teste 02','', "oToolbutton2")
/*
      //DropDown - Não compila
      oToolBar:AddButton("Teste3",, 4, 128, "Teste 03" ,,, {{"DropDown", 4,{|| Hwg_msginfo( 'ok 0' ) }};
	                                                   ,{"Opção 1", 5,{|| Hwg_msginfo( 'ok 1' ) };
  	                                                   ,{"Opção 2", 7,{|| Hwg_msginfo( 'ok 2' } };
  	                                                   ,{"Opção 3", 8,{|| Hwg_msginfo( 'ok 3' } };
                                                           ,{"Opção 4", 9,{|| Hwg_msginfo( 'ok 4' } } };
  	                                                   , "oToolbutton3")
*/
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

hwGui, ToolBar, Buttom DropDown Menu

Mensagem por alxsts »

Olá!
Ana Mitoooo escreveu:na versão 2.2.3 ( atual ) o recurso esta disponível somente para Linux via GTK
Na versão 2.17 esta habilitado também no Windows(Basso/Marcos Gambeta)
Estranho isto. Há um tempo testei isto e funcionou perfeitamente em Windows + HWGui-2.23-b1 ou HWGui-2.23-b2. Não tenho mais o código...

Você usa Windows ou Linux? Qual versão HwGUI? Incluiu na compilação o manifest? (na minha máquina está em C:\HwGUI-2.23-b2\samples\hwgui_xp.rc). Não sei se isto tem influência mas, em todo caso, teste.
[]´s
Alexandre Santos (AlxSts)
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

hwGui, ToolBar, Buttom DropDown Menu

Mensagem por Itamar M. Lins Jr. »

Olá!
O problema é que esse controle não foi criado por ele.
Tem que a pessoa que criou ou quem tem mais conhecimento fazer a atualização dele lá no SVN.
Eu fiz assim usando a sintaxe funcionou PARCIALMENTE o MENU DROP-DOWN não abriu.
Precisamos sempre fazer exemplo pequenos para que todos possam testar se desejar.

Código: Selecionar todos

#include "hwgui.ch"
Function main
Local oDlg, oBrw, oToolbar1

   INIT DIALOG oDlg TITLE "TOOLBAR with clause MENU active" style DS_CENTER;
         AT 0, 0 SIZE 800, 500  ;
         FONT HFont():Add( "MS Sans Serif",0,-13 )


  @ 0,0 TOOLBAR oToolbar1 ;
                   SIZE oDlg:nWidth,32 ;                       
                   STYLE WS_DLGFRAME + TBSTYLE_TRANSPARENT

     TOOLBUTTON  oToolbar1 ;
                 ID       701 ;
                 BITMAP   "..\imagens\folder-red.bmp" ;
                 STATE    4 ;
                 TEXT     ""  ;
                 MENU {{"Despesas em Aberto por Fornecedor", 1,{| This, nId | HWG_MSGINFO('OK'), onDlgInit( ) }}} ;
                 TOOLTIP  "Abrir o documento." ;
                 ON CLICK {||  hwg_msginfo('ok') }
   
    oToolbar1:AddButton(0, , 4,  1, "" ,,,'', "oToolbuttonsep1")
               
    TOOLBUTTON  oToolbar1 ;
                ID       701 ;
                BITMAP   "..\imagens\folder_yellow.BMP" ;
                STATE    4;
                TEXT     ""  ;
                TOOLTIP  "" ;
                ON CLICK {||  oDlg:Close() }
    
    oToolbar1:AddButton(0, , 4,  1, "" ,,,'', "oToolbuttonsep2")

   ACTIVATE DIALOG oDlg
Return Nil
Captura de tela 2023-09-20 115154.png
Captura de tela 2023-09-20 115154.png (9.7 KiB) Exibido 1646 vezes
Então eu perguntei no SVN como fazer a FLAG MENU funcionar.
E o Kresin respondeu isso:
I never used this control and don't know how it works and what the MENU clause is. In my applications I use the PANEL and ownerbuttons instead.

If you need a menu, which appears after pressing a button, you may use the context menu, full example is in samples/testtree.prg.

You need to define a context menu:

CONTEXT MENU oMyMenu
MENUITEM "Item1" ACTION { || SomeFunc_1( ) }
MENUITEM "Item2" ACTION { || SomeFunc_2( ) }
ENDMENU

and then you can call it with a:
oMyMenu:Show( oWindow ),
where oWindow is any suitable window object.

Place this oMyMenu:Show( ) call into any ON CLICK, or to any other handler.

Regards, Alexander.
E fez esse exemplo:

Código: Selecionar todos

#include "hwgui.ch"
Function Test
   Local oDlg, oFont, oMenu

   PREPARE FONT oFont NAME "MS Sans Serif" WIDTH 0 HEIGHT -13

   INIT DIALOG oDlg TITLE "Modal dialog" AT 100, 100 SIZE 300, 150 FONT oFont

   CONTEXT MENU oMenu
      MENUITEM "Message"  ACTION { || hwg_MsgInfo( 'Menu item "Message"' ) }
      SEPARATOR
      MENUITEM "Exit" ACTION { || oDlg:Close() }
   ENDMENU

   @ 4,4 BUTTON "Menu" SIZE 50,28 ON CLICK {|| oMenu:Show( oDlg ) }

   @ 100,100 BUTTON "Close" SIZE 100,30 ON CLICK {|| oDlg:Close() }

   ACTIVATE DIALOG oDlg

Return Nil
O problema é que o menu não ficou de baixo(alinhado) com o botão, parece que centraliza do centro do botão para esquerda(imagem anexo), não sei...
Captura de tela 2023-09-20 114609.png
Achei bem mais simples da forma que ele fez.
Por isso, eu não saio do uso da principal para usar fork nenhum, depois fica abandonado.
É muita birrinha sem propósito.

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Ana Mitoooo
Usuário Nível 3
Usuário Nível 3
Mensagens: 118
Registrado em: 17 Out 2018 10:00
Localização: Sobradinho/DF

hwGui, ToolBar, Buttom DropDown Menu

Mensagem por Ana Mitoooo »

alxsts escreveu:Olá!
Você usa Windows ou Linux? Qual versão HwGUI? Incluiu na compilação o manifest? (na minha máquina está em C:\HwGUI-2.23-b2\samples\hwgui_xp.rc). Não sei se isto tem influência mas, em todo caso, teste.
Windows 10,
Manifest, sim
hwGui 2.2.3.b4
Ana Mitoooo
Usuário Nível 3
Usuário Nível 3
Mensagens: 118
Registrado em: 17 Out 2018 10:00
Localização: Sobradinho/DF

hwGui, ToolBar, Buttom DropDown Menu

Mensagem por Ana Mitoooo »

Itamar M. Lins Jr. escreveu:Olá!
...
Então eu perguntei no SVN como fazer a FLAG MENU funcionar.
E o Kresin respondeu isso:
I never used this control and don't know how it works and what the MENU clause is. In my applications I use the PANEL and ownerbuttons instead.
Agradeço a todos que tentaram auxiliar no uso do recurso.
Ótima semana
Responder