FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Expandir automaticamente o menu no mesmo nivel
Posts: 56
Joined: Wed May 23, 2007 02:01 PM
Expandir automaticamente o menu no mesmo nivel
Posted: Tue Mar 11, 2008 03:05 PM
olá a todos,

é possível expandir o mesmo nivel de menu/submenu após executar a ação ?

após executar a ação, o menu é apagado da tela, e o usuário é forçado a escolher de novo no primeiro nível do menu

eu quero que o menu se expanda automaticamente no mesmo nivel

vejam o codigo:

MENU oMenu
   MENUITEM "Customers"
     MENU 
        MENUITEM "Add New Customer"  
          MENU
             MENUITEM "Industry"   ACTION cInd() 
             MENUITEM "Commerce"   ACTION cCom()
             MENUITEM "Service"    ACTION cSer()
          ENDMENU    
        MENUITEM "View Profile"      ACTION cPrf()
     ENDMENU
   
   MENUITEM "Products"
     MENU
        MENUITEM "Add New Product"   ACTION pAdd()
        MENUITEM "View Profile"      ACTION pPrf()
     ENDMENU
ENDMENU


por exemplo, após executar a função cSer(), eu gostaria de mostrar o
menu

'Customers'
   'Add New Customer'
      'Industry'
      'Commerce'
      'Service'


muito obrigado

abraços
Yury Marcelino Al
yury030575@yahoo.com.br
vimansca@vimansca.com.br
Leme / SP - Brasil
Posts: 1286
Joined: Mon Feb 25, 2008 02:54 PM
Expandir automaticamente o menu no mesmo nivel
Posted: Tue Mar 11, 2008 05:08 PM

oMenu:end() //FINALIZA O OBJ DO MENU
...SUA FUNÇÃO PARA MONTAR O MENU NOVAMENTE
ownd:setmenu(omenu)
SysRefresh()

Espero ter ajudado

ubiratanmga@gmail.com

FWH24.04
BCC7.3
HARBOUR3.2
xMate
Pelles´C
TDolphin
Posts: 56
Joined: Wed May 23, 2007 02:01 PM
Expandir automaticamente o menu no mesmo nivel
Posted: Tue Mar 11, 2008 06:17 PM

oMenu:end() //FINALIZA O OBJ DO MENU
...SUA FUNÇÃO PARA MONTAR O MENU NOVAMENTE
ownd:setmenu(omenu)
SysRefresh()

Espero ter ajudado


obrigado pela resposta, mas isto que vc postou é para reconstruir o menu...

oque eu quero é que, após executar a ação de um item do menu, ele abra novamente automaticamente na mesma posição onde estava, para que o usuário não tenha que selecionar desde o nivel inicial novamente...

de qualquer forma, muito grato pela sua atenção

um abraço
Yury Marcelino Al
yury030575@yahoo.com.br
vimansca@vimansca.com.br
Leme / SP - Brasil
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Expandir automaticamente o menu no mesmo nivel
Posted: Tue Mar 11, 2008 07:26 PM

Yuri,

Puedes probar con oWnd:oMenu:Hilite( <nOption> )

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 56
Joined: Wed May 23, 2007 02:01 PM
Expandir automaticamente o menu no mesmo nivel
Posted: Tue Mar 11, 2008 07:57 PM

Yuri,

Puedes probar con oWnd:Hilite( <nOption> )
_________________
regards, saludos

Antonio Linares
www.fivetechsoft.com


gracias Antonio, irei testar

saludos
Yury Marcelino Al
yury030575@yahoo.com.br
vimansca@vimansca.com.br
Leme / SP - Brasil
Posts: 18
Joined: Thu Sep 21, 2006 01:51 AM
Expandir automaticamente o menu no mesmo nivel
Posted: Fri Apr 04, 2008 11:31 AM

Poderia exemplificar com um demo, por favor, o uso do oWndIni:oMenu:Hilite( nOpcao ) ??

Obrigado !!!

Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Expandir automaticamente o menu no mesmo nivel
Posted: Fri Apr 04, 2008 11:54 AM

Giba,

Revisa fwh\samples\TestMenu.prg

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 782
Joined: Wed Dec 19, 2007 07:50 AM
Expandir automaticamente o menu no mesmo nivel
Posted: Sat Apr 05, 2008 04:47 AM
Hola Antonio:
Antonio Linares wrote:Puedes probar con oWnd:Hilite( <nOption> )

oMenu:Hilite(<nOption>) no expande el menú, yo lo he hecho con WM_SYSCOMMAND, como ejemplo la rutina principal de TestMenu.prg quedaría así:
function Main()

   Local cAccel

   DEFINE WINDOW oWnd FROM 1, 5 TO 20, 70 TITLE "Testing Menus" ;
      MENU BuildMenu()

   oWnd:bMenuSelect = { || MsgBeep() }   // Do whatever on each menuitem
                                         // selection!

   #define WM_SYSCOMMAND 274   // 0x112
   #define SC_KEYMENU    61696 // 0xF100
   cAccel := "S"               // Some more...  menu item

   @ 4, 4 BUTTON "&Hilite Second Popup" SIZE 160, 25 OF oWnd ;
          ACTION SendMessage( oWnd:hWnd, WM_SYSCOMMAND, SC_KEYMENU, nMakeLong( Asc( cAccel ), 0 ) )

   @ 7, 4 BUTTON "&UnHilite Second Popup" SIZE 160, 25 OF oWnd ;
      ACTION oWnd:oMenu:UnHilite( 2 )


   SET MESSAGE OF oWnd TO FWVERSION + " - Menu Management Power"

   ACTIVATE WINDOW oWnd

return nil


Un abrazo.

Manuel Mercado
manuelmercado at prodigy dot net dot mx
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Expandir automaticamente o menu no mesmo nivel
Posted: Sat Apr 05, 2008 09:00 AM

Manuel,

Gracias! :-)

regards, saludos

Antonio Linares
www.fivetechsoft.com

Continue the discussion