6 de marzo de 2002

Incluir Imágenes en el Menú de VFP 6.0

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

No hay comentarios. :

Publicar un comentario