Hola,
tengo una toolbar conv arios botones y un tbmenu que despliega un menu al hacer click en la parte de la lista desplegable. Quiero que cuando se hace click sobre el botón me despliegue el mismo menu, pero no hay manera. ¿ Alguien sabe como se hace ?
Saludos,
José Luis Sánchez
Problema con ToolBar y TbMenu
- José Luis Sánchez
- Posts: 484
- Joined: Thu Oct 13, 2005 9:23 am
- Location: Novelda - Alicante - España
- Contact:
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
- José Luis Sánchez
- Posts: 484
- Joined: Thu Oct 13, 2005 9:23 am
- Location: Novelda - Alicante - España
- Contact:
Prueba de esta manera.
DEFINE TBBUTTON OF oToolBar5 ACTION (MEst(oWnd)) TOOLTIP "Informes Estadisticos"
oToolBar5:AddSeparator()
DEFINE TBBUTTON OF oToolBar5 ACTION (MCCC(oWnd)) TOOLTIP "Cuentas Corrientes"
oToolBar5:AddSeparator()
DEFINE TBBUTTON OF oToolBar5 ACTION (MLAF(oWnd)) TOOLTIP "Libro Auxiliar de Facturacion"
oToolBar5:AddSeparator()
*------------------------------------------------------------------------------
Function MEst(oMainWnd )
LOCAL oMenu, nRow:=65, nCol:=Menos1, aPos := GetCursorPos()
Local cClrDegrIni,cClrDegrFin
Local cClrSelIni,cClrSelFin,cClrSelTxt,cClrSelBor
Local cClrMenu,cClrMenuTxt
IF _Ancho=768
nCol:=Ltb3+130
ElseIf _Ancho=1024
nCol:=LTB3+Ltb4+44
ENDIF
cClrDegrFin := LightColor(60,getsysColor(2))
cClrDegrIni:= LightColor(230,cClrDegrFin)
cColorPan := LightColor(150,cClrDegrFin)
cClrMenu:= GetSysColor(4) //RGB(224,255,255)
cClrMenuTxt:= CLR_BLACK
cClrSelFin:= RGB(255,238,194)
cClrSelIni:= RGB(255,238,194)
cClrSelTxt:= CLR_BLACK
cClrSelBor:= CLR_BLACK
MENU oMenu POPUP ;
COLORMENU cClrMenu,cClrMenuTxt ;
COLORBMP cClrDegrFin,cClrDegrIni;
COLORSELECT cClrDegrIni,cClrDegrFin,cClrSelTxt;
COLORSEPARATOR cClrSelBor
MenuItem oMIt[1] Prompt "Ventas" Action (TT_SV())
Separator
MenuItem oMIt[2] Prompt "Cliente" Action (EVXC())
Separator
MenuItem oMIt[3] Prompt "Entradas Valorizadas"
Separator
MenuItem oMIt[4] Prompt "Compras por Producto"
Separator
MenuItem oMIt[5] Prompt "Compras por Bloques"
Separator
MenuItem oMIt[6] Prompt "Precios de Compra"
Separator
MenuItem oMIt[7] Prompt "Consolidado I.N.E."
Separator
MenuItem oMIt[8] Prompt "Variaciones de Precio"
Separator
MenuItem oMIt[9] Prompt "Diferencias de PRecio"
EndMenu
ACTIVATE MENU oMenu AT nRow, nCol OF oMainWnd
oMainWnd:Refresh()
RETURN NIL
*----------------------------------------------------------------------------*
Function MCCC(oMainWnd )
LOCAL oMenu, nRow:=65, nCol:=Menos1, aPos := GetCursorPos()
Local cClrDegrIni,cClrDegrFin
Local cClrSelIni,cClrSelFin,cClrSelTxt,cClrSelBor
Local cClrMenu,cClrMenuTxt
IF _Ancho=768
nCol:=Ltb3+166
ElseIf _Ancho=1024
nCol:=LTB3+Ltb4+81
ENDIF
cClrDegrFin := LightColor(60,getsysColor(2))
cClrDegrIni:= LightColor(230,cClrDegrFin)
cColorPan := LightColor(150,cClrDegrFin)
cClrMenu:= GetSysColor(4) //RGB(224,255,255)
cClrMenuTxt:= CLR_BLACK
cClrSelFin:= RGB(255,238,194)
cClrSelIni:= RGB(255,238,194)
cClrSelTxt:= CLR_BLACK
cClrSelBor:= CLR_BLACK
MENU oMenu POPUP ;
COLORMENU cClrMenu,cClrMenuTxt ;
COLORBMP cClrDegrFin,cClrDegrIni;
COLORSELECT cClrDegrIni,cClrDegrFin,cClrSelTxt;
COLORSEPARATOR cClrSelBor //cClrDegrFin
MenuItem "Cuenta Corriente Individual" Action (Execute[16]:=.T.,Filter_Cta(oWnd,oMenuIt[49],Execute)) When (!Execute[16])
Separator
MenuItem "Cuenta Corriente General" Action (CCGC())
ENDMENU
ACTIVATE MENU oMenu AT nRow, nCol OF oMainWnd
oMainWnd:Refresh()
RETURN NIL
*----------------------------------------------------------------------------*
Function MLAF(oMainWnd)
LOCAL oMenu, nRow:=65, nCol:=Menos1, aPos := GetCursorPos()
Local cClrDegrIni,cClrDegrFin
Local cClrSelIni,cClrSelFin,cClrSelTxt,cClrSelBor
Local cClrMenu,cClrMenuTxt
IF _Ancho=768
nCol:=Ltb3+202
ElseIf _Ancho=1024
nCol:=LTB3+Ltb4+118
ENDIF
cClrDegrFin := LightColor(60,getsysColor(2))
cClrDegrIni:= LightColor(230,cClrDegrFin)
cColorPan := LightColor(150,cClrDegrFin)
cClrMenu:= GetSysColor(4) //RGB(224,255,255)
cClrMenuTxt:= CLR_BLACK
cClrSelFin:= RGB(255,238,194)
cClrSelIni:= RGB(255,238,194)
cClrSelTxt:= CLR_BLACK
cClrSelBor:= CLR_BLACK
MENU oMenu POPUP ;
COLORMENU cClrMenu,cClrMenuTxt ;
COLORBMP cClrDegrFin,cClrDegrIni;
COLORSELECT cClrDegrIni,cClrDegrFin,cClrSelTxt;
COLORSEPARATOR cClrSelBor
MenuItem oMIt[18] Prompt "Borrador Libro Auxiliar" ACTION (Execute[18]:=.T.,Libro_Auxf(1,oMenuIt[52],Execute,oWnd)) When (!Execute[18])
Separator
MenuItem oMIt[19] Prompt "Original S.I.I." ACTION (Execute[19]:=.T.,Libro_Auxf(2,oMenuIt[53],Execute,oWnd)) When (!Execute[19])
Separator
MenuItem oMIt[20] Prompt "Foliación de Hojas" ACTION (Execute[20]:=.T.,Libro_Auxf(3,oMenuIt[54],Execute,oWnd)) When (!Execute[20])
EndMenu
ACTIVATE MENU oMenu AT nRow, nCol OF oMainWnd
oMainWnd:Refresh()
RETURN NIL
*----------------------------------------------------------------------
Al menos a mi, me funciona bastante bien, sólo hayn que jugar con la posición de los botones para darle las coordenadas al menú.
oToolBar5:AddSeparator()
DEFINE TBBUTTON OF oToolBar5 ACTION (MCCC(oWnd)) TOOLTIP "Cuentas Corrientes"
oToolBar5:AddSeparator()
DEFINE TBBUTTON OF oToolBar5 ACTION (MLAF(oWnd)) TOOLTIP "Libro Auxiliar de Facturacion"
oToolBar5:AddSeparator()
*------------------------------------------------------------------------------
Function MEst(oMainWnd )
LOCAL oMenu, nRow:=65, nCol:=Menos1, aPos := GetCursorPos()
Local cClrDegrIni,cClrDegrFin
Local cClrSelIni,cClrSelFin,cClrSelTxt,cClrSelBor
Local cClrMenu,cClrMenuTxt
IF _Ancho=768
nCol:=Ltb3+130
ElseIf _Ancho=1024
nCol:=LTB3+Ltb4+44
ENDIF
cClrDegrFin := LightColor(60,getsysColor(2))
cClrDegrIni:= LightColor(230,cClrDegrFin)
cColorPan := LightColor(150,cClrDegrFin)
cClrMenu:= GetSysColor(4) //RGB(224,255,255)
cClrMenuTxt:= CLR_BLACK
cClrSelFin:= RGB(255,238,194)
cClrSelIni:= RGB(255,238,194)
cClrSelTxt:= CLR_BLACK
cClrSelBor:= CLR_BLACK
MENU oMenu POPUP ;
COLORMENU cClrMenu,cClrMenuTxt ;
COLORBMP cClrDegrFin,cClrDegrIni;
COLORSELECT cClrDegrIni,cClrDegrFin,cClrSelTxt;
COLORSEPARATOR cClrSelBor
MenuItem oMIt[1] Prompt "Ventas" Action (TT_SV())
Separator
MenuItem oMIt[2] Prompt "Cliente" Action (EVXC())
Separator
MenuItem oMIt[3] Prompt "Entradas Valorizadas"
Separator
MenuItem oMIt[4] Prompt "Compras por Producto"
Separator
MenuItem oMIt[5] Prompt "Compras por Bloques"
Separator
MenuItem oMIt[6] Prompt "Precios de Compra"
Separator
MenuItem oMIt[7] Prompt "Consolidado I.N.E."
Separator
MenuItem oMIt[8] Prompt "Variaciones de Precio"
Separator
MenuItem oMIt[9] Prompt "Diferencias de PRecio"
EndMenu
ACTIVATE MENU oMenu AT nRow, nCol OF oMainWnd
oMainWnd:Refresh()
RETURN NIL
*----------------------------------------------------------------------------*
Function MCCC(oMainWnd )
LOCAL oMenu, nRow:=65, nCol:=Menos1, aPos := GetCursorPos()
Local cClrDegrIni,cClrDegrFin
Local cClrSelIni,cClrSelFin,cClrSelTxt,cClrSelBor
Local cClrMenu,cClrMenuTxt
IF _Ancho=768
nCol:=Ltb3+166
ElseIf _Ancho=1024
nCol:=LTB3+Ltb4+81
ENDIF
cClrDegrFin := LightColor(60,getsysColor(2))
cClrDegrIni:= LightColor(230,cClrDegrFin)
cColorPan := LightColor(150,cClrDegrFin)
cClrMenu:= GetSysColor(4) //RGB(224,255,255)
cClrMenuTxt:= CLR_BLACK
cClrSelFin:= RGB(255,238,194)
cClrSelIni:= RGB(255,238,194)
cClrSelTxt:= CLR_BLACK
cClrSelBor:= CLR_BLACK
MENU oMenu POPUP ;
COLORMENU cClrMenu,cClrMenuTxt ;
COLORBMP cClrDegrFin,cClrDegrIni;
COLORSELECT cClrDegrIni,cClrDegrFin,cClrSelTxt;
COLORSEPARATOR cClrSelBor //cClrDegrFin
MenuItem "Cuenta Corriente Individual" Action (Execute[16]:=.T.,Filter_Cta(oWnd,oMenuIt[49],Execute)) When (!Execute[16])
Separator
MenuItem "Cuenta Corriente General" Action (CCGC())
ENDMENU
ACTIVATE MENU oMenu AT nRow, nCol OF oMainWnd
oMainWnd:Refresh()
RETURN NIL
*----------------------------------------------------------------------------*
Function MLAF(oMainWnd)
LOCAL oMenu, nRow:=65, nCol:=Menos1, aPos := GetCursorPos()
Local cClrDegrIni,cClrDegrFin
Local cClrSelIni,cClrSelFin,cClrSelTxt,cClrSelBor
Local cClrMenu,cClrMenuTxt
IF _Ancho=768
nCol:=Ltb3+202
ElseIf _Ancho=1024
nCol:=LTB3+Ltb4+118
ENDIF
cClrDegrFin := LightColor(60,getsysColor(2))
cClrDegrIni:= LightColor(230,cClrDegrFin)
cColorPan := LightColor(150,cClrDegrFin)
cClrMenu:= GetSysColor(4) //RGB(224,255,255)
cClrMenuTxt:= CLR_BLACK
cClrSelFin:= RGB(255,238,194)
cClrSelIni:= RGB(255,238,194)
cClrSelTxt:= CLR_BLACK
cClrSelBor:= CLR_BLACK
MENU oMenu POPUP ;
COLORMENU cClrMenu,cClrMenuTxt ;
COLORBMP cClrDegrFin,cClrDegrIni;
COLORSELECT cClrDegrIni,cClrDegrFin,cClrSelTxt;
COLORSEPARATOR cClrSelBor
MenuItem oMIt[18] Prompt "Borrador Libro Auxiliar" ACTION (Execute[18]:=.T.,Libro_Auxf(1,oMenuIt[52],Execute,oWnd)) When (!Execute[18])
Separator
MenuItem oMIt[19] Prompt "Original S.I.I." ACTION (Execute[19]:=.T.,Libro_Auxf(2,oMenuIt[53],Execute,oWnd)) When (!Execute[19])
Separator
MenuItem oMIt[20] Prompt "Foliación de Hojas" ACTION (Execute[20]:=.T.,Libro_Auxf(3,oMenuIt[54],Execute,oWnd)) When (!Execute[20])
EndMenu
ACTIVATE MENU oMenu AT nRow, nCol OF oMainWnd
oMainWnd:Refresh()
RETURN NIL
*----------------------------------------------------------------------
Al menos a mi, me funciona bastante bien, sólo hayn que jugar con la posición de los botones para darle las coordenadas al menú.
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
- Patricio Avalos Aguirre
- Posts: 1028
- Joined: Fri Oct 07, 2005 1:56 pm
- Location: La Serena, Chile
- Contact:
Hola Jose Luis
Revisa este post http://fivetechsoft.com/forums/viewtopi ... highlight=
baja el archivo acceso.zip, descomprimelo y luego ejecutalo
dbf\wcta.exe ahi esta como hacerlo..
Espero que te sirva
Revisa este post http://fivetechsoft.com/forums/viewtopi ... highlight=
baja el archivo acceso.zip, descomprimelo y luego ejecutalo
dbf\wcta.exe ahi esta como hacerlo..
Espero que te sirva
Saludos
Patricio
__________________________________________________________________
Version: Harbour 3.2.0dev (r1307082134),Compiler: Borland C++ 5.8.2 (32-bit)
PCode version: 0.3, FWH 13.2
http://www.sialm.cl
Patricio
__________________________________________________________________
Version: Harbour 3.2.0dev (r1307082134),Compiler: Borland C++ 5.8.2 (32-bit)
PCode version: 0.3, FWH 13.2
http://www.sialm.cl