Hola a todos.
A mi no me gusta la forma del TREE para hacer menús, ya que puede llegar a reservar un espacio muy grand de la pantalla, me gustaría más que se abran y cierren las opciones.., me puse a trabajar en ello.
Aquí os paso las fuentes de un pequeño programa que permite crear uno o varios menús a la derecha o izquierda de la pantalla y que se van mostrando las opciones conforme se va haciendo click con el ratón.
Posiblemente tenga alguna cosa que mejorar pero ya esta operativo.
Como podéis ver es muy fácil de utilizar, solo tienes que incluir en tus programas "_latmenu.prg" que es donde están todas las funciones y "_latmenu.ch" que son el include para los comandos.
Como veréis es muy fácil de modificar, no utiliza ninguna llamada al "C", solo HMG
Espero que sea de vuestro agrado, que lo uséis y que lo mejoréis.
Un saludo a todos y una cervecita virtual, bien fresquita..., que esta ronda la pago yo.!!
MENU FLOTANTE - TREE
Moderator: Rathinagiri
- SALINETAS24
- Posts: 667
- Joined: Tue Feb 27, 2018 3:06 am
- DBs Used: DBF
- Contact:
MENU FLOTANTE - TREE
- Attachments
-
- Menu_List.rar
- (1.2 MiB) Downloaded 192 times
Como dijo el gran pensador Hommer Simpson..., - En este mundo solo hay 3 tipos de personas, los que saben contar y los que no. 
- SALINETAS24
- Posts: 667
- Joined: Tue Feb 27, 2018 3:06 am
- DBs Used: DBF
- Contact:
Re: MENU FLOTANTE - TREE
Hola a todos.
Aquí os envío una nueva versión del MENU LATERAL, le he incorporado gráficos y creo que queda más chulo.
En esta versión en lugar de trabajar con un LISTBOX lo hago todo con LABEL.
Espero que os guste y que lo podáis aprovechar.
Vamos con una cervecita bien fresquita que esta ronda la pago yo.
Aquí os envío una nueva versión del MENU LATERAL, le he incorporado gráficos y creo que queda más chulo.
En esta versión en lugar de trabajar con un LISTBOX lo hago todo con LABEL.
Espero que os guste y que lo podáis aprovechar.
Vamos con una cervecita bien fresquita que esta ronda la pago yo.
- Attachments
-
- Mnu_Lbl.rar
- (1.21 MiB) Downloaded 183 times
Como dijo el gran pensador Hommer Simpson..., - En este mundo solo hay 3 tipos de personas, los que saben contar y los que no. 
- danielmaximiliano
- Posts: 2647
- Joined: Fri Apr 09, 2010 4:53 pm
- Location: Argentina
- Contact:
Re: MENU FLOTANTE - TREE
gracias Salinetas
*´¨)
¸.·´¸.·*´¨) ¸.·*¨)
(¸.·´. (¸.·` *
.·`. Harbour/HMG : It's magic !
(¸.·``··*
Saludos / Regards
DaNiElMaXiMiLiAnO
Whatsapp. := +54901169026142
Telegram Name := DaNiElMaXiMiLiAnO
¸.·´¸.·*´¨) ¸.·*¨)
(¸.·´. (¸.·` *
.·`. Harbour/HMG : It's magic !
(¸.·``··*
Saludos / Regards
DaNiElMaXiMiLiAnO
Whatsapp. := +54901169026142
Telegram Name := DaNiElMaXiMiLiAnO
- SALINETAS24
- Posts: 667
- Joined: Tue Feb 27, 2018 3:06 am
- DBs Used: DBF
- Contact:
Re: MENU FLOTANTE - TREE
Hola, he detectado un pequeño error, hay que cambiar el procedimiento JM_CONTROLEVENTO por este nuevo que adjunto. El motivo es asegurarse de que existe el control que se quiere cambiar de color.
Un saludo
Un saludo
Code: Select all
// -----------------------------------------------------------------------------------
// jm_ControlEvento -> Cambia el color el la etiqueta de los MENUS. Se llama "LABEL_XX"
// -----------------------------------------------------------------------------------
PROC jm_ControlEvento()
STATIC xControl_Falso,xWindow_Falso
LOCAL nHWnd := EventHWND()
LOCAL nMsg := EventMSG()
LOCAL nWParam := EventWPARAM()
LOCAL nLParam := EventLPARAM()
LOCAL cControl
LOCAL cForm
IF GetControlIndexByHandle (nhWnd) > 0
GetControlNameByHandle(nHWnd, @cControl, @cForm)
IF SUBSTR(cControl,1,6)="LABEL_" // Detecta que el nombre del CONTROL
SWITCH nMsg
CASE WM_MOUSEMOVE
IF !EMPTY(xControl_Falso) .AND. xControl_Falso!=cControl
SetProperty(cForm, xControl_Falso, "FONTCOLOR", BLACK)
SetProperty(cForm, xControl_Falso, "FONTBOLD", .F.)
xControl_Falso:=""
ENDIF
SetProperty(cForm, cControl, "FONTCOLOR", RED)
SetProperty(cForm, cControl, "FONTBOLD", .T.)
xControl_Falso:=cControl
xWindow_Falso:=cForm
EXIT
ENDSWITCH
ELSE
IF !EMPTY(xControl_Falso) .AND. xControl_Falso!=cControl
IF IsControlDefined(&xControl_Falso,&cForm)
SetProperty(cForm, xControl_Falso, "FONTCOLOR", BLACK)
SetProperty(cForm, xControl_Falso, "FONTBOLD", .F.)
xControl_Falso:=""
ENDIF
ENDIF
ENDIF
ELSE
SWITCH nMsg
CASE WM_MOUSEMOVE
IF !EMPTY(xControl_Falso)
IF IsControlDefined(&xControl_Falso,&xWindow_Falso)
SetProperty(xWindow_Falso, xControl_Falso, "FONTCOLOR", BLACK)
SetProperty(xWindow_Falso, xControl_Falso, "FONTBOLD", .F.)
xControl_Falso:=""
ENDIF
ENDIF
EXIT
ENDSWITCH
ENDIF
RETURN
Como dijo el gran pensador Hommer Simpson..., - En este mundo solo hay 3 tipos de personas, los que saben contar y los que no. 
Re: MENU FLOTANTE - TREE
Gracias, Salinetas24