Menu.... ha habilitado....

User avatar
Marco A. Delgado
Posts: 126
Joined: Fri Oct 07, 2005 4:20 pm
Location: Veracruz, México

Menu.... ha habilitado....

Post by Marco A. Delgado »

Hola...

tengo un menu.... que hago en una barra de tsbutton...pero en un submenu no lo pinta como desabilitado (obviamente no ejecuta la accion) pero se ve algo....raro....

alguien...sabe..porke...

Saludos

Marco A. Delgado.

[img][img]http://img17.imageshack.us/img17/8913/menus7ob.jpg[/img][/img]
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Marco,

No es el menu estandard de FWH, si ?
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Marco A. Delgado
Posts: 126
Joined: Fri Oct 07, 2005 4:20 pm
Location: Veracruz, México

Post by Marco A. Delgado »

no entiendo tu respuesta Antonio.

me dices que el menu que utilizo pertenece a la clase tsbutton

Saludos

Marco A. Delgado.
User avatar
Marco A. Delgado
Posts: 126
Joined: Fri Oct 07, 2005 4:20 pm
Location: Veracruz, México

Post by Marco A. Delgado »

gracias.....por tu respuesta Antonio


cheque los ejemplos de fwh y todos funcionan correctamente, seguire probando...


Saludos

Marco A. Delgado.
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Marco,

Me refiero a si estás usando los menús de FWH ó estás usando otros de terceros.
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Marco A. Delgado
Posts: 126
Joined: Fri Oct 07, 2005 4:20 pm
Location: Veracruz, México

Post by Marco A. Delgado »

Antonio,

Estoy utilizando los de FWH


Saludos

Marco A. Delgado.
User avatar
leandro
Posts: 958
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia
Contact:

Post by leandro »

Perdon la intromicion, pero sera que me pueden indicar cual es el nombre del ejemplo para revisarlo.
Saludos
LEANDRO ALFONSO
SISTEMAS LYMA - BASE
Bogotá (Colombia)
[ FWH 19.09 ] [ xHarbour 1.2.3 Intl. (SimpLex) (Build 20190613) ] [ Embarcadero C++ 7.30 for Win32 ]
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Marco,

Podrias por favor proporcionar un ejemplo pequeño y autocontenido, que use clases estandard de FWH y que reproduzca el problema ? gracias.
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Marco A. Delgado
Posts: 126
Joined: Fri Oct 07, 2005 4:20 pm
Location: Veracruz, México

Post by Marco A. Delgado »

este es lo que he probado..

Code: Select all

#Define COLOR_BTNFACE 15
#Define CLR_NBLUE  nRGB( 128, 128, 192)

#Include "FiveWin.ch"

Static oWndPrinc, oOut, oBtn[2]
Static cEmpresa, oFont
***************************
Function Main()
  Local oIcon, oCur, oBar, cUsuario
  Local oSpl, oUsuario, oBrush, oSay, oEmpresa
  DEFAULT cEmpresa := "Transporte Urbano de Poza Rica, S.A. de C.V."
  DEFAULT cUsuario := ""

  REQUEST DBFCDX
  RDDSETDEFAULT("DBFCDX")
  SET CENTURY ON
  SET DATE BRITISH
  SET DELETE ON
  SET EPOCH TO 1989
  SetHandleCount( 80 )
  Set3dLook(.T.)

  DEFINE ICON oIcon RESOURCE "A"
  DEFINE CURSOR oCur RESOURCE "Hand"
  DEFINE BRUSH oBrush RESOURCE "Brush2"
  DEFINE FONT oFont  NAME "Arial" SIZE 0, -11

  DEFINE WINDOW oWndPrinc ;
         TITLE "Sistema Administrativo para Transporte de Pasajeros para Windows" ;
         COLOR CLR_BLACK, GetSysColor(15)-RGB(30,30,30) ;
         MENU CreaMenu() ;
         ICON oIcon

         oWndPrinc:SetFont( oFont )

         DEFINE BUTTONBAR oBar 3DLOOK OF oWndPrinc SIZE 35, 35
                oBar:bLClicked := {|| 0 }
                oBar:bRClicked := {|| 0 }

                DEFINE BUTTON oBtn[1] OF oBar    ;
                       RESOURCE "EXIT","EXIT"   ;
                       ACTION oWndPrinc:End()       ;
                       MESSAGE " Salir del Sistema" ;
                       TOOLTIP "Salir del Sistema"  ;
							  NOBORDER

                DEFINE BUTTON oBtn[2] OF oBar ;
							  RESOURCE "PRINTER"     ;
                       ACTION MenuPop( oBtn[2] )  ;
                       FONT oWndPrinc:oFont          ;
                       MESSAGE " Reportes del Sistema" ;
                       NOBORDER            ;
                       GROUP

         SET MESSAGE OF oWndPrinc TO " Prueba " CENTER NOINSET

                    oWndPrinc:oMsgBar:DateOn()

  ACTIVATE WINDOW oWndPrinc          ;
           VALID (oFont:End(), .T. ) ;
           MAXIMIZED


Return Nil
*******************
Function CreaMenu()
  Local oMenu
  Local lEnable := .F.

        MENU oMenu
				MenuItem "Primero"
				  Menu
					 MenuItem "Acerca1"
				      Menu
					     MenuItem "Punto1"
					     MenuItem "Punto2"
				          Menu
					         MenuItem "Parte1"
					         MenuItem "Parte2"
					         MenuItem "Parte3" When lEnable
				          EndMenu
					     MenuItem "Punto3" When lEnable
				      EndMenu
					 MenuItem "Acerca2"
					 MenuItem "Acerca3" When lEnable
				  EndMenu
				MenuItem "Segundo"
        EndMenu

Return(oMenu)
*******************************************
Static Function MenuPop( oBtn )
  Local oMenu, aRect
  Local tUsuario
  Local lEnable := .F.

    MENU oMenu POPUP
       MenuItem "Informe de &Recaudaciones Diarias"
       SEPARATOR
       MenuItem "Deducciones a &Operadores" ;
              RESOURCE "Oper16"
              Menu
                 MenuItem "&Detallado (Ordenado por Operador)" When lEnable
					  MenuItem "&Acumulado (Ordenado por Operador)" When lEnable
                 MenuItem "&Individual"
              EndMenu
       MenuItem "Informe de &Pensiones a Operadores"

       SEPARATOR
       MenuItem "&Ingresos"
           Menu
              MenuItem "Mensual por &Unidad" When lEnable
                  Menu
                     MenuItem "&Detallado (Ordenado por Unidad)"
                     MenuItem "&Acumulado (Ordenado por Ingresos)"
							MenuItem "por &Unidad (en Detalle)"
                  EndMenu
				  MenuItem "Mensual por &Operador"  ;
						     RESOURCE "Oper16" When lEnable
                  Menu
                     MenuItem "&Detallado (Ordenado por Operador)"
							MenuItem "&Acumulado (Ordenado por Ingresos)"
                     MenuItem "&Individual (en Detalle)"
                  EndMenu
              MenuItem "Mensual Por &Empresas" When lEnable
				  MenuItem "Mensual Por &Bases"
				  SEPARATOR
				  MenuItem "Anual por &Unidad"
				  MenuItem "Anual por &Operador" ;
						     RESOURCE "Oper16"
                  Menu
                     MenuItem "&Global"
                     MenuItem "&Individual"
                  EndMenu
				  MenuItem "Anual por &Empresas" When lEnable
				  MenuItem "Anual por &Bases"
           EndMenu
       SEPARATOR
       MenuItem "&Generacion de Disco de Entregas" When lEnable
    ENDMENU

	 ACTIVATE POPUP oMenu AT 10 , 0 OF oBtn

Return(Nil)
y sigo con el mismo problema, en los menus normales de una ventana no hay problema, pero dependiendo de una barra de herramientas el resultado es esto.

Prueba en ventana principal:
[img][img]http://img371.imageshack.us/img371/2724/menua7mb.jpg[/img][/img]

Prueba en una barra de la ventana principal

[img][img]http://img371.imageshack.us/img371/7351/menub4ab.jpg[/img][/img]

[img][img]http://img371.imageshack.us/img371/1791/menuc9nu.jpg[/img][/img]

Antonio espero y esto te guie, gracias...

Saludos

Marco A. Delgado.
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Marco,

Por favor prueba este cambio y dime si ya se ve bien (aunque estará en una posición distinta en la pantalla):

ACTIVATE POPUP oMenu AT 10 , 0 OF oBtn:oWnd:oWnd
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Marco A. Delgado
Posts: 126
Joined: Fri Oct 07, 2005 4:20 pm
Location: Veracruz, México

Post by Marco A. Delgado »

Funciono..

Muchas Gracias.... pero a que se debe (claro si se puede saber)

[img][img]http://img371.imageshack.us/img371/4941/menud6yv.jpg[/img][/img]

[img][img]http://img371.imageshack.us/img371/3176/menue7kz.jpg[/img][/img]

Pero sigue sin funcionar con tsbutton :(

Saludos
Marco A. Delgado.
User avatar
Marco A. Delgado
Posts: 126
Joined: Fri Oct 07, 2005 4:20 pm
Location: Veracruz, México

Post by Marco A. Delgado »

ok....funciono Antonio pero....

el menu se mueve demasiado, no queda debajo del botton que es donde lo requiero, tambien hice pruebas con tsbutton y el resultado es el mismo se mueve incluso si pongo otro :oWnd se pasa hasta la ventana principal.

Alguna sugerencia

Saludos

Marco A. Delgado.
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Marco,

El problema se debe a que ese control no está procesando correctamente el mensaje WM_INITMENUPOPUP.

Puedes solucionarlo añadiendo estas líneas al Método HandleEvent() de ese control:

Code: Select all

      case nMsg == WM_INITMENUPOPUP
           return ::InitMenuPopup( nWParam, nLoWord( nLParam ), nHiWord( nLParam ) != 0 )
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Marco A. Delgado
Posts: 126
Joined: Fri Oct 07, 2005 4:20 pm
Location: Veracruz, México

Post by Marco A. Delgado »

ok...gracias...lo checo

solo una pregunta Antonio, como le hago para que el menu (en el ejemplo expuesto) me aparezca debajo del botton (como debe de ser).

Saludos

Marco A. Delgado.
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Marco,

Las coordenadas que tú usabas son relativas al botón. Ahora habría que convertirlas en relativas a la ventana. Se haría así:

local aPos := { 0, 10 }

aPos = ClientToScreen( oBtn:hWnd, aPos )
aPos = ScreenToClient( oWnd:hWnd, aPos )

y los valores que ahora tiene aPos deberían ser los correctos, y relativos a la ventana principal.
regards, saludos

Antonio Linares
www.fivetechsoft.com
Post Reply