_WSetAttr( ) (Rutina de biblioteca API)

Cambia el atributo del índice de esquema de colores color especificado en el esquema de colores de la ventana indicada por el nuevo atributo attr.

void _WSetAttr(WHANDLE wh, int color, int attr)
WHANDLE wh;            /* Window handle. */
int color;                     /* Color scheme. */
int attr;                     /* Attribute. */

Ejemplo

El ejemplo siguiente pasa por cada color del esquema, utiliza _WSetAttr( ) para establecer el color del lápiz y, a continuación, muestra texto en cada color.

Código Visual FoxPro

SET LIBRARY TO WSETATTR

Código C

#include <pro_ext.h>

void putLong(long n, int width)
{
   Value val;

   val.ev_type = 'I';
   val.ev_long = n;
   val.ev_width = width;

   _PutValue(&val);
}

FAR WAttrEx(ParamBlk FAR *parm)
{
   int scheme;
   int color;
   WHANDLE wh;
   int attrib, savePen;

   for (scheme = 0; scheme <= 25; scheme++)
   {
      wh = _WOpen(2,10,23,70,WEVENT,scheme,(Scheme FAR *)0,
         WO_SYSTEMBORDER);

      for (color = WA_NORMAL; color <= WA_ISSHADOW; color++)
      {
         attrib  = _WAttr(wh, color);
         savePen = _WAttr(_WGetPort(), WA_PENCOLOR);

         _WSetAttr(_WGetPort(), WA_PENCOLOR, attrib);

         _PutStr("\nScheme:"); putLong(scheme, 5);
         _PutStr("; Color:"); putLong(color, 5);
         _PutStr("; Attribute byte:"); putLong(attrib, 5);

         _WSetAttr(_WGetPort(), WA_PENCOLOR, savePen);
      }
      _WClose(wh);
      _Execute("WAIT");
   }
}

FoxInfo myFoxInfo[] = {
   {"ONLOAD", (FPFI) WAttrEx, CALLONLOAD, ""},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Vea también

_WClear( ) (Rutina de biblioteca API) | _WClearRect( ) (Rutina de biblioteca API) | _WAttr( ) (Rutina de biblioteca API) | _PutStr( ) (Rutina de biblioteca API)