Con estas funciones cambiaremos el aspecto de VFP 6.0 y lo haremos parecer a VPF 7.0 Insertando imágenes en lo menues de nuestras aplicaciones y hasta, como lo muestra el siguiente ejemplo, el propio menú de VPF 6.0 ** ** Insertar Imágenes en el Menú de VFP 6.0 ** DECLARE INTEGER FindWindow IN win32api STRING,STRING DECLARE INTEGER GetMenu IN win32api INTEGER DECLARE INTEGER GetSubMenu IN win32api INTEGER,INTEGER DECLARE INTEGER LoadImage IN win32api INTEGER,STRING,INTEGER,INTEGER,INTEGER,INTEGER DECLARE INTEGER SetMenuItemBitmaps IN win32api INTEGER,INTEGER,INTEGER,INTEGER,INTEGER DECLARE INTEGER GetMenuItemID IN win32api INTEGER,INTEGER DECLARE INTEGER ModifyMenu IN win32api INTEGER,INTEGER,INTEGER,INTEGER,STRING * Especifico el Caption del Form donde se encuentra el Menú, * en el caso de ser un menú definido por el usuario. HWND = FindWindow(0,_SCREEN.CAPTION) * Modifico el menú principal de VFP. ** Menú y Submenú a modificar, tomaremos como ejemplo el Menú "Archivo" lnHandleMenu = GetMenu(HWND) lnHandleSubMenu = GetSubMenu(lnHandleMenu,0) * El segundo parámetro indica el SubMenú a modificar, en este caso: * 0 = Archivo * 1 = Edición * 2 = Ver * 3 = Formato * 4 = Herramientas * 5 = Programa * 6 = Ventana * 7 = Ayuda ** Path de las Imágenes. A modo de ejemplo se incluyen los de VFP. lcPathImagen1 = "C:\Archivos de programa\Microsoft Visual Studio\Vfp98\Wizards\Graphics\NEW.BMP" lcPathImagen2 = "C:\Archivos de programa\Microsoft Visual Studio\Vfp98\Wizards\Graphics\OPEN.BMP" lcPathImagen5 = "C:\Archivos de programa\Microsoft Visual Studio\Vfp98\Wizards\Graphics\SAVE.BMP" lcPathImagen15 = "C:\Archivos de programa\Microsoft Visual Studio\Vfp98\Wizards\Graphics\PRINT.BMP" ** Carga de las Imagenes. lnImagen1 = LoadImage(0,lcPathImagen1 ,0,13,13,16) lnImagen2 = LoadImage(0,lcPathImagen2 ,0,13,13,16) lnImagen5 = LoadImage(0,lcPathImagen5 ,0,13,13,16) lnImagen15 = LoadImage(0,lcPathImagen15,0,13,13,16) * Los 3 últimos parametros indican: ancho, alto y color de la imagen. ** ID del Menu. lnMenuID1 = GetMenuItemID(lnHandleSubMenu, 0) lnMenuID2 = GetMenuItemID(lnHandleSubMenu, 1) lnMenuID5 = GetMenuItemID(lnHandleSubMenu, 4) lnMenuID15 = GetMenuItemID(lnHandleSubMenu, 14) * El segundo parámetro representa la opción dentro del SubMenú: * 0 = Nuevo * 1 = Abrir * 4 = Guardar * 14 = Imprimir ** Definición del Menu con la Imagen. SetMenuItemBitmaps(lnHandleSubMenu, lnMenuID1, 0, lnImagen1, lnImagen1) SetMenuItemBitmaps(lnHandleSubMenu, lnMenuID2, 0, lnImagen2, lnImagen2) SetMenuItemBitmaps(lnHandleSubMenu, lnMenuID5, 0, lnImagen5, lnImagen5) SetMenuItemBitmaps(lnHandleSubMenu, lnMenuID15,0, lnImagen15,lnImagen15) ** Modificación del Menu. ModifyMenu(lnHandleMenu, lnMenuID1, 0, lnMenuID1, "&Nuevo... CTR+N") ModifyMenu(lnHandleMenu, lnMenuID2, 0, lnMenuID2, "&Abrir... CTR+O") ModifyMenu(lnHandleMenu, lnMenuID5, 0, lnMenuID5, "&Guardar CTR+S") ModifyMenu(lnHandleMenu, lnMenuID15,0, lnMenuID15,"&Imprimir CTR+P") CLEAR DLLS