Expandir automaticamente o menu no mesmo nivel

Post Reply
yury
Posts: 56
Joined: Wed May 23, 2007 2:01 pm

Expandir automaticamente o menu no mesmo nivel

Post by yury »

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

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

'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
MGA
Posts: 1219
Joined: Mon Feb 25, 2008 2:54 pm
Location: Brasil/PR/Maringá
Contact:

Post by MGA »

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

FWH17.04
FWPPC
Harbour/xHarbour
xMate
Pelles´C
TDolphin
yury
Posts: 56
Joined: Wed May 23, 2007 2:01 pm

Post by yury »

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
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Yuri,

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

Antonio Linares
www.fivetechsoft.com
yury
Posts: 56
Joined: Wed May 23, 2007 2:01 pm

Post by yury »

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
giba_f
Posts: 18
Joined: Thu Sep 21, 2006 1:51 am
Location: Brasil
Contact:

Post by giba_f »

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

Obrigado !!!
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Giba,

Revisa fwh\samples\TestMenu.prg
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
mmercado
Posts: 782
Joined: Wed Dec 19, 2007 7:50 am
Location: Salamanca, Gto., México

Post by mmercado »

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

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
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Manuel,

Gracias! :-)
regards, saludos

Antonio Linares
www.fivetechsoft.com
Post Reply