Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Changes the attribute for the specified color scheme index in the indicated window's color scheme to the new attribute attr.
void _WSetAttr(WHANDLE wh, int color, int attr)
WHANDLE wh; /* Window handle. */
int color; /* Color scheme. */
int attr; /* Attribute. */
Example
The following example goes through each color of each scheme, using _WSetAttr( ) to set the pen color, and then displaying some text in each color.
Visual FoxPro Code
SET LIBRARY TO WSETATTR
C Code
#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
};
See Also
_WClear( ) API Library Routine | _WClearRect( ) API Library Routine | _WAttr( ) API Library Routine | _PutStr( ) API Library Routine