Page 1 of 1

TVistaMenu en dialogo

Posted: Sat Jan 04, 2014 2:50 am
by Marcelo Via Giglio
Holas,

estoy tratando sin exito de poner un TVistaMenu en un Dialogo, alguien tiene un ejemplo?

saludos

Marcelo

Re: TVistaMenu en dialogo

Posted: Mon Jan 06, 2014 12:32 am
by El Loco
Marcelo llamalo desde el INIT del dialogo.

Ejemplo modificado de .\samples\Vistamn1.prg de Fivewin
VistamnDlg.prg

Code: Select all

#include "fivewin.ch"

function main()
local oDlg
local oIcon

DEFINE ICON oIcon NAME "C5ICON"

Define DIALOG oDlg RESOURCE "Dlg01" TITLE "Test VistaMenu desde Dialogo" ICON oIcon

ACTIVATE DIALOG oDlg On Init VistaMenuDlg(oDlg)

return 0

Static Function VistaMenuDlg(oDlg)
local oVmenu
local oItem

    oVMenu := TVistaMenu():New( 0,0, 100, 100, oDlg )
    oVMenu:nColumns := 1
    oVMenu:nType := 2

    oItem := oVMenu:AddItem( "Sistema y mantenimiento ", ".\..\bitmaps\pngs\image1.png" )
             oItem:AddItem( "Empezar a trabajar con windows",,;
                            { || MsgInfo( "Sistema y mantenimiento" ) } )
             oItem:AddItem( "Hacer una copia de seguridad del equipo" )
             oItem:AddItem( "Item 1 Item 1" )
             oItem:AddItem( "ItemItem2 ItemItem2" )
             oItem:AddItem( "ItemItemItem3 ItemItemItem3" )

    oItem := oVMenu:AddItem( "Seguridad", ".\..\bitmaps\pngs\image2.png" )
             oItem:AddItem( "Buscar actualizaciones" )
             oItem:AddItem( "Dejar pasar un programa a través de Firewall de Windows" )

    oItem := oVMenu:AddItem( "Redes e Internet", ".\..\bitmaps\pngs\image3.png" )
    oItem:lEnable := .f.
             oItem:AddItem( "Ver el estado y las tareas de red" )
             oItem:AddItem( "Configurar el uso compartido de archivos" )

    oItem := oVMenu:AddItem( "Hardware y sonido", ".\..\bitmaps\pngs\image4.png" )
             oItem:AddItem( "Reproducir un CD u otros archivos multimedia automáticamente" )
             oItem:AddItem( "Impresora" )
             oItem:AddItem( "Mouse" )

    oItem := oVMenu:AddItem( "Programas", ".\..\bitmaps\pngs\image5.png" )
             oItem:AddItem( "Desinstalar un programa" )
             oItem:AddItem( "Cambiar programas de inicio" )

    oItem := oVMenu:AddItem( "Equipo portatil", ".\..\bitmaps\pngs\image6.png" )
             oItem:AddItem( "Cambiar la configuración de la bateria" )
             oItem:AddItem( "Ajustar parametros de configuración de movilidad de uso frecuente" )

    oItem := oVMenu:AddItem( "Cuentas de usuario", ".\..\bitmaps\pngs\image7.png" )
             oItem:AddItem( "Cambiar tipo de cuenta" )

    oItem := oVMenu:AddItem( "Opciones adicionales", ".\..\bitmaps\pngs\image12.png" )

    oItem := oVMenu:AddItem( "Apariencia y personalización", ".\..\bitmaps\pngs\image8.png" )
             oItem:AddItem( "Cambiar fondo de escritorio" )
             oItem:AddItem( "Cambiar la combinación de colores" )
             oItem:AddItem( "Ajustar la resolución de pantalla" )

    oItem := oVMenu:AddItem( "Reloj, idioma y región", ".\..\bitmaps\pngs\image9.png" )
             oItem:AddItem( "Cambiar teclados u otros métodos de entrada" )
             oItem:AddItem( "Cambiar el idioma para mostrar" )

    oItem := oVMenu:AddItem( "Accesibilidad", ".\..\bitmaps\pngs\image10.png" )
             oItem:AddItem( "Permitir que Windows sugiera parametros de configuración" )
             oItem:AddItem( "Optimizar la presentación visual" )

    oDlg:oClient := oVMenu
    oDlg:Refresh(.t.)
    
Return Nil
 
VistamnDlg.rc

Code: Select all

/ RESOURCE SCRIPT generated by "Pelles C for Windows, version 7.00".

#include <windows.h>
#include <commctrl.h>
#include <richedit.h>

LANGUAGE LANG_ENGLISH,SUBLANG_ENGLISH_US

C5ICON ICON "..\\ICONS\\FAVORITE.ICO"

DLG01 DIALOGEX DISCARDABLE 6, 18, 718, 293
STYLE WS_CAPTION|WS_MAXIMIZEBOX|WS_CLIPSIBLINGS|WS_CLIPCHILDREN|WS_VISIBLE
FONT 8, "Tahoma", 0, 0, 1
{
}
 
Abrazo.
Miguel

Re: TVistaMenu en dialogo

Posted: Tue Jan 07, 2014 3:18 am
by Marcelo Via Giglio
Muchas gracias,

me olvide mencionar que lo estoy haciendo desde código sin recursos, sin embargo, agradezco tu colaboración

saludos


Marcelo

Re: TVistaMenu en dialogo

Posted: Tue Jan 07, 2014 11:41 am
by El Loco
Marcelo es lo mismo, solo que el dialogo no debe tener el estilo WS_POPUP

Abrazo.
Miguel

Re: TVistaMenu en dialogo

Posted: Tue Jan 07, 2014 12:31 pm
by Marcelo Via Giglio
Miguel,

muy agradecido ahora funciono

saludos cordiales

Marcelo