SYSMENU en DIALOG

SYSMENU en DIALOG

Postby JmGarcia » Wed Jun 13, 2012 5:43 am

¿ Se puede poner un SYSMENU en un dialogo (DIALOG) ?

Gracias por las respuestas...
Mi abuelo decía: Los aviones vuelan porque Dios quiere, y los helicópteros ni Dios sabe porque vuelan.
FWH 16.02, xHarbour 1.2.3, Harbour 3.2.0, WorkShop 4.5, AJ Make 0.30, Borlan BCC 7.00, VisualStudio 2013
User avatar
JmGarcia
 
Posts: 654
Joined: Mon May 29, 2006 3:14 pm
Location: Madrid - ESPAÑA

Re: SYSMENU en DIALOG

Postby Antonio Linares » Wed Jun 13, 2012 11:03 am

JM,

Prueba a crearlo desde la claúsula ON INIT del ACTIVTE DIALOG ... :

Code: Select all  Expand view  RUN

ACTIVATE DIALOG oDlg ON INIT BuildSysMenu( oDlg )

...

function BuildSysMenu( oDlg )

   local oSysMenu

   REDEFINE SYSMENU oSysMenu OF oDlg
      MENUITEM "&Hey! We are here" ACTION MsgInfo( "Yes, we are!" )

      MENUITEM FILE "..\bitmaps\Ico.bmp" ;
         ACTION MsgInfo( "FiveWin, Clipper + xBase + OOPS" )

      MENUITEM "&Reset..." ACTION oSysMenu:Reset()

   ENDMENU

return nil
 
regards, saludos

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

Re: SYSMENU en DIALOG

Postby JmGarcia » Fri Jun 15, 2012 7:13 am

No funciona, no aparece... el SysMenu.
Mi abuelo decía: Los aviones vuelan porque Dios quiere, y los helicópteros ni Dios sabe porque vuelan.
FWH 16.02, xHarbour 1.2.3, Harbour 3.2.0, WorkShop 4.5, AJ Make 0.30, Borlan BCC 7.00, VisualStudio 2013
User avatar
JmGarcia
 
Posts: 654
Joined: Mon May 29, 2006 3:14 pm
Location: Madrid - ESPAÑA

Re: SYSMENU en DIALOG

Postby Antonio Linares » Fri Jun 15, 2012 7:27 am

JM,

Este ejemplo funciona bien aqui:

jmsys.prg
Code: Select all  Expand view  RUN
#include "FiveWin.ch"

function Main()

   local oDlg

   DEFINE DIALOG oDlg STYLE WS_SYSMENU

   ACTIVATE DIALOG oDlg CENTERED ;
      ON INIT BuildSysMenu( oDlg )

return nil

function BuildSysMenu( oDlg )

   local oSysMenu

   REDEFINE SYSMENU oSysMenu OF oDlg
      MENUITEM "&Hey! We are here" ACTION MsgInfo( "Yes, we are!" )

      MENUITEM FILE "..\bitmaps\Ico.bmp" ;
         ACTION MsgInfo( "FiveWin, Clipper + xBase + OOPS" )

      MENUITEM "&Reset..." ACTION oSysMenu:Reset()

   ENDMENU

return nil
regards, saludos

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

Re: SYSMENU en DIALOG

Postby Andrés González » Fri Jun 15, 2012 12:40 pm

Confirmado, funciona perfecto, aparece en la esquina superior izquierda y cuando le pulsas al reset se desactiva.
Saludos

Andrés González desde Mallorca
User avatar
Andrés González
 
Posts: 629
Joined: Thu Jan 19, 2006 10:45 am
Location: Mallorca

Re: SYSMENU en DIALOG

Postby JmGarcia » Fri Jun 15, 2012 11:32 pm

Mi dialogo es desde recurso (RC) y no me funciona...

Code: Select all  Expand view  RUN
#include "FiveWin.ch"
function main()
local oDlg
DEFINE DIALOG oDlg NAME "DIALOGO"
// ...
ACTIVATE DIALOG oDlg CENTER ON INIT BuildSysMenu( oDlg )
return nil

function BuildSysMenu( oDlg )
   local oSysMenu
   REDEFINE SYSMENU oSysMenu OF oDlg
      MENUITEM "&Hey! We are here" ACTION MsgInfo( "Yes, we are!" )
      MENUITEM FILE "..\bitmaps\Ico.bmp" ;
         ACTION MsgInfo( "FiveWin, Clipper + xBase + OOPS" )
      MENUITEM "&Reset..." ACTION oSysMenu:Reset()
   ENDMENU
return nil

/* Fichero RC
DIALOGO DIALOG 50, 50, 160, 140
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_MINIMIZEBOX
CAPTION "Prueba..."
FONT 8, "MS Sans Serif"
{
//...
}
*/
Mi abuelo decía: Los aviones vuelan porque Dios quiere, y los helicópteros ni Dios sabe porque vuelan.
FWH 16.02, xHarbour 1.2.3, Harbour 3.2.0, WorkShop 4.5, AJ Make 0.30, Borlan BCC 7.00, VisualStudio 2013
User avatar
JmGarcia
 
Posts: 654
Joined: Mon May 29, 2006 3:14 pm
Location: Madrid - ESPAÑA

Re: SYSMENU en DIALOG

Postby Antonio Linares » Sat Jun 16, 2012 7:22 am

JM,

Quita el estilo DS_MODALFRAME en tu RC y funcionando :-)
regards, saludos

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

Re: SYSMENU en DIALOG

Postby JmGarcia » Sun Jun 17, 2012 10:21 am

Antonio Linares wrote:Quita el estilo DS_MODALFRAME en tu RC y funcionando :-)

Efectivamente, ¡¡¡ funciona !!!
¿ Que hace el estilo DS_MODALFRAME ? o ¿ que hace si lo quito ?

¿ Como pongo un icono en la esquina superior izquierda, para un dialogo mediante recursos ? me sale un cuadradito blanco.

Gracias.
Mi abuelo decía: Los aviones vuelan porque Dios quiere, y los helicópteros ni Dios sabe porque vuelan.
FWH 16.02, xHarbour 1.2.3, Harbour 3.2.0, WorkShop 4.5, AJ Make 0.30, Borlan BCC 7.00, VisualStudio 2013
User avatar
JmGarcia
 
Posts: 654
Joined: Mon May 29, 2006 3:14 pm
Location: Madrid - ESPAÑA

Re: SYSMENU en DIALOG

Postby Antonio Linares » Sun Jun 17, 2012 11:03 am

JM,

Al quitar DS_MODALFRAME aparece el menu de systema. Al usar DS_MODALFRAME se quita. Digamos que Microsoft, por defecto, prefiere que el diálogo no muestre menu de sistema, pero no pasa nada por usarlo.

Aqui tienes un ejemplo de como cambiarle el icono:

Code: Select all  Expand view  RUN
#include "FiveWin.ch"

function Main()

   local oDlg, oIco
   
   DEFINE ICON oIco FILE "..\icons\fivewin.ico"

   DEFINE DIALOG oDlg NAME "DIALOGO" ICON oIco

   ACTIVATE DIALOG oDlg CENTERED ;
      ON INIT BuildSysMenu( oDlg )

return nil

function BuildSysMenu( oDlg )

   local oSysMenu

   REDEFINE SYSMENU oSysMenu OF oDlg
      MENUITEM "&Hey! We are here" ACTION MsgInfo( "Yes, we are!" )

      MENUITEM FILE "..\bitmaps\Ico.bmp" ;
         ACTION MsgInfo( "FiveWin, Clipper + xBase + OOPS" )

      MENUITEM "&Reset..." ACTION oSysMenu:Reset()

   ENDMENU

return nil
regards, saludos

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

Re: SYSMENU en DIALOG

Postby JmGarcia » Sun Jun 17, 2012 11:11 am

Perfecto... funciona todo correctamente.

Gracias.
Mi abuelo decía: Los aviones vuelan porque Dios quiere, y los helicópteros ni Dios sabe porque vuelan.
FWH 16.02, xHarbour 1.2.3, Harbour 3.2.0, WorkShop 4.5, AJ Make 0.30, Borlan BCC 7.00, VisualStudio 2013
User avatar
JmGarcia
 
Posts: 654
Joined: Mon May 29, 2006 3:14 pm
Location: Madrid - ESPAÑA


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: CarlosFossati, Google [Bot] and 43 guests