Page 3 of 5

PostPosted: Sun Jan 14, 2007 4:21 am
by Ruben Fernandez
Leandro:

Te dejo lo que hace cada uno para que hagas tus pruebas

cClrDegrFin := LightColor(60,getsysColor(2)) // COLOR 1 DE LA BARRA VERTICAL
cClrDegrIni:= LightColor(230,cClrDegrFin) // COLOR 2 DE LA BARRA VERTICAL
cClrMenu := RGB(224, 255, 255) // COLOR DE FONDO DEL MENU
cClrMenuTxt:= CLR_BLACK // color del texto del menu sin seleccion
cClrSelFin:= RGB(255,238,194) // color de la barra de seleccion inferior
cClrSelIni:= RGB(255,238,194) // color de la barra de seleccion superior
cClrSelTxt:= CLR_BLACK // COLOR DEL TEXTO SELECCIONADO
cClrSelBor:= CLR_BLACK // COLOR DEL RECUADRO DE LA SELECCION DEL MENU


Saludos.

Ruben Fernandez

Gracias...

PostPosted: Sun Jan 14, 2007 2:19 pm
by leandro
Amigo gracias..

Quedo comprendido...

PostPosted: Sun Jan 14, 2007 5:12 pm
by George
Excelente contribucion!!!

Tengo un problema al tratar de compilarlo con xHarbour comercial:
xHarbour Builder Pro January 2007 + FWH 2.8 (Sep 2006)

LOS ARCHIVOS EN C NO COMPILAN

Alguna sugerencia. o Algun compañero que tenga el archivo .XBP para xBuilder?

Saludos


George

PostPosted: Sun Jan 14, 2007 7:53 pm
by Armando Picon
He compilado el fuente en un archivo .LIB. Cuando intento utilizarlo como una libreria mas para mis aplicaciones no se genera el ejecutable. En el proceso se para con un mensaje de "too many MAP in fivehc" ... o algo parecido.

Inicialmente me parece que tiene conflicto con menu.c que se encuentra en la libreria de FWH... alguna otra cosa que pueda ser?

PostPosted: Mon Jan 15, 2007 12:20 pm
by Rossine
Olá,

Para gerar o arquivo MENUS.OBJ para xharbour comercial (xacc) tive que fazer as mudanças abaixo. Procurem por "//"

Code: Select all  Expand view
HB_FUNC ( _COLORMENU )
{
   HMENU      iMenu;
   MENUINFO   iMenuInfo ;
   COLORREF lColor = hb_parnl(2);
   BOOL  lSubMenu = hb_parl(3);
   HBITMAP himage ;
// HWND  himage ;

// himage = (HWND)LoadImage(0,hb_parc(4),IMAGE_BITMAP ,0,0,LR_LOADFROMFILE | LR_LOADMAP3DCOLORS | LR_LOADTRANSPARENT );
   himage = (HBITMAP)LoadImage(0,hb_parc(4),IMAGE_BITMAP ,0,0,LR_LOADFROMFILE | LR_LOADMAP3DCOLORS | LR_LOADTRANSPARENT );

   if (himage==NULL)
     {
//     himage = (HWND)LoadImage(GetModuleHandle(NULL),hb_parc(4),IMAGE_BITMAP ,0,0, LR_LOADMAP3DCOLORS   | LR_LOADTRANSPARENT );
       himage = (HBITMAP)LoadImage(GetModuleHandle(NULL),hb_parc(4),IMAGE_BITMAP ,0,0, LR_LOADMAP3DCOLORS   | LR_LOADTRANSPARENT );
     }

   iMenu              = GetMenu((HWND) _parnl(1));
   GetMenuInfo(iMenu, &iMenuInfo);
   iMenuInfo.cbSize   = sizeof(MENUINFO);

   if (lSubMenu)
    {
      iMenuInfo.fMask    = MIM_BACKGROUND | MIM_APPLYTOSUBMENUS ;
    }
   else
    {
      iMenuInfo.fMask    = MIM_BACKGROUND;
    }

   if (himage==NULL)
    {
       iMenuInfo.hbrBack = CreateSolidBrush(lColor);
    }
   else
    {
       iMenuInfo.hbrBack = CreatePatternBrush(himage);
    }

   SetMenuInfo(iMenu, &iMenuInfo);
   DrawMenuBar((HWND) _parnl(1));

}



Abraços,

Rossine.

PostPosted: Mon Jan 15, 2007 5:19 pm
by Kleyber
Arturo,

Excelente trabajo!!! He bajado y me funciona al pelo!!! Gracias por tu contribuición.

Saludos,

PostPosted: Mon Jan 15, 2007 6:12 pm
by George
Kleyber,

No puedo hacer compilar con xBuilderW (XHarbour Professional) los archivos Menus.c y gradfill.c; Trate la solucion mas arriba expuesta por Rossine pero no me funciono

Puedes compartir con el foro el archivo XBP y los "obj" de menus.c y gradfill.c?

Saludos

George

PostPosted: Tue Jan 16, 2007 2:08 pm
by Patricio Avalos Aguirre
Estimados

Como puedo colocar el color GRAY cuando un ítem esta disable
este lo pone con color negro

saludos
Patricio

PostPosted: Wed Jan 17, 2007 2:17 am
by Kleyber
George,

La verdad es que no uso xHB comercial y por esto no tengo un archivo XHP para enviarte. Pero creo que en este mismo post, en el de inglés, he visto un contenido de un XHP para la compilación en xHB comercial. Quizas te sirva.

Saludos,

PostPosted: Wed Jan 17, 2007 2:51 am
by George
Kleyber,

Ya trate con el archivo de Rossine para xBuilderW, pero los archivos en C, no los puedo compilar. Trate tambien con Harbour y me da error al tratar de compilar menus.c y gradfill.c.

Te agradeciera si puedes enviarme los archivos menus.obj gradfill.obj

Saludos


George

PostPosted: Wed Jan 17, 2007 3:28 pm
by Hernan Diego Ceccarelli
Muy buen trabajo :D , voy a mirarlo con detenimiento.

Hernan

PostPosted: Wed Jan 17, 2007 4:03 pm
by Patricio Avalos Aguirre
Que colores se usa para que quede desabilitados los menos, si es posible hacerlo?


Image

Saludos
Patricio

PostPosted: Wed Jan 17, 2007 6:19 pm
by Kleyber
George,


Ya trate con el archivo de Rossine para xBuilderW, pero los archivos en C, no los puedo compilar. Trate tambien con Harbour y me da error al tratar de compilar menus.c y gradfill.c.


Cuales son los errores?

Saludos,

PostPosted: Wed Jan 17, 2007 7:32 pm
by George
Kleyber,

Cuando uso Harbour me da el siguiente error:
Error: 'C:\MENU_XP\MENU.OBJ' contains invalid OMF record, type 0x4c <possibly COFF>. Fijate aqui se detiene en "menu.prg" no en "menus.c"

Cuando uso xHarbour Professional, con el archivo XBP posteado por Rossine, se detiene la compilacion cuando trata de de compilar menus.c

Saludos


George

color de opciones desabilitadas

PostPosted: Wed Jan 17, 2007 8:52 pm
by TecniSoftware
Para el color de las opciones desabilitadas yo modifiqué lo siquiente:

en el fuente pdmenu.prg, la funcion MenuDrawItem() al final

antes de :
atMenuDrawItem( pDrawItemStruct, cPrompt, lTop, hBmp, lSeparator, acolors )


habria que poner:
lActive := oItem:lActive
aColors[2] := If( !lActive, GetSysColor( 3 ), oMenu:nClrText )

entones el texto de las opciones desabilitadas queda mas clarito.

Salu2!
Alejandro Cebolido
Buenos Aires, Argentina.