Expandir automaticamente o menu no mesmo nivel

Expandir automaticamente o menu no mesmo nivel

Postby yury » Tue Mar 11, 2008 3: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:

Code: Select all  Expand view
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

Code: Select all  Expand view
'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
yury
 
Posts: 56
Joined: Wed May 23, 2007 2:01 pm

Postby MGA » Tue Mar 11, 2008 5: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

FWH18.02
FWPPC
Harbour/xHarbour
xMate
Pelles´C
TDolphin
MGA
 
Posts: 1234
Joined: Mon Feb 25, 2008 2:54 pm
Location: Brasil/PR/Maringá

Postby yury » Tue Mar 11, 2008 6: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
yury
 
Posts: 56
Joined: Wed May 23, 2007 2:01 pm

Postby Antonio Linares » Tue Mar 11, 2008 7:26 pm

Yuri,

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

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 41315
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby yury » Tue Mar 11, 2008 7:57 pm

Yuri,

Puedes probar con oWnd:oMenu: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
yury
 
Posts: 56
Joined: Wed May 23, 2007 2:01 pm

Postby giba_f » Fri Apr 04, 2008 11:31 am

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

Obrigado !!!
giba_f
 
Posts: 18
Joined: Thu Sep 21, 2006 1:51 am
Location: Brasil

Postby Antonio Linares » Fri Apr 04, 2008 11:54 am

Giba,

Revisa fwh\samples\TestMenu.prg
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 41315
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby mmercado » Sat Apr 05, 2008 4:47 am

Hola Antonio:
Antonio Linares wrote:Puedes probar con oWnd:oMenu: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í:
Code: Select all  Expand view
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
User avatar
mmercado
 
Posts: 782
Joined: Wed Dec 19, 2007 7:50 am
Location: Salamanca, Gto., México

Postby Antonio Linares » Sat Apr 05, 2008 9:00 am

Manuel,

Gracias! :-)
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 41315
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 82 guests

cron