If _Screen.BackColor != 16777215 &&Is color value white? _Screen.LockScreen = .T. &&Keep screen from flashing cOldbackcolor = _Screen.BackColor &&Save background color _Screen.BackColor = Rgb(255,255,255) &&Set BackColor to RGB white cOldForeColor = _Screen.ForeColor && Save foreground color _Screen.ForeColor = Rgb(0,0,0) && Set ForeColor to RGB Black - Set Device To Printer @10,1 Say 'This is a test.' Set Device To Screen Set Printer To _Screen.BackColor = cOldbackcolor _Screen.ForeColor = cOldForeColor _Screen.LockScreen = .F. Endif>Tracy,
>>*SETCOLOR.PRG >> >>set COLOR OF SCHEME 1 to W+/G, W+/BG, GR+/B, GR+/B, R+/B, W+/GR, GR+/RB, N+/N, GR+/B, R+/B >>set COLOR OF SCHEME 2 to W+/n, W+/BG, GR+/B, GR+/B, R+/B, W+/GR, GR+/RB, N+/N, GR+/B, R+/B >>set COLOR OF SCHEME 3 to W+/B, W+/BG, GR+/B, GR+/B, R+/B, W+/GR, GR+/RB, N+/N, GR+/B, R+/B >> >>* DO SETSCHEME >> >>DO setscreen1 >>? "THESE ARE THE NEW COLORS" >>*Test printing >>set PRINTER TO NAME GETPRINTER() >>set DEVICE TO printer >>@1,10 SAY "TEST 1" >>@5,10 say "This is the first line of text" >>@8,10 say "This is the 2nd line of text" >>set PRINTER to >>set DEVICE TO screen >> >>WAIT WINDOW "Press anykey for test 2" >>*Test with set printer font >>DO setscreen2 >>set DEVICE TO printer >>SET PRINTER FONT 'TIMES NEW ROMAN',10 >>@1,10 SAY "TEST 2" >>@5,10 say "This is the first line of text" >>@8,10 say "This is the 2nd line of text" >>set PRINTER to >>set DEVICE TO screen >> >>RETURN >> >>**************************************************************** >>PROCEDURE setscreen1 >>#IF 'VISUAL' $ UPPER(VERSION()) >> >> sRGB = RGBSCHEME(1,1) >> sRGB = STRTRAN(sRGB, 'RGB(', '') >> sRGB = STRTRAN(sRGB, ')', '') >> >> nRed = VAL(SUBSTR(sRGB, 1, AT(',', sRGB, 1)-1)) >> nGreen = VAL(SUBSTR(sRGB, AT(',', sRGB, 1)+1, AT(',', sRGB, 2)-1)) >> nBlue = VAL(SUBSTR(sRGB, AT(',', sRGB, 2)+1, AT(',', sRGB, 3)-1)) >> >> _SCREEN.ForeColor = RGB(nRed, nGreen, nBlue) >> >> nRed = VAL(SUBSTR(sRGB, AT(',', sRGB, 3)+1, AT(',', sRGB, 4)-1)) >> nGreen = VAL(SUBSTR(sRGB, AT(',', sRGB, 4)+1, AT(',', sRGB, 5)-1)) >> nBlue = VAL(SUBSTR(sRGB, AT(',', sRGB, 5)+1)) >> >> _SCREEN.BackColor = RGB(nRed, nGreen, nBlue) >> _SCREEN.FillColor = RGB(nRed, nGreen, nBlue) >> >>#ENDIF >>CLEAR >>RETURN >> >>**************************************************************** >>PROCEDURE setschem >>PRIVATE dbfarea,crntreso,newscheme >> >>dbfarea = ALIAS() >>crntreso = SYS(2005) >> >>SELECT 0 >>USE (crntreso) ALIAS "TEMPRESO" >> >>LOCATE FOR id = "SCRN_BORDER" >>IF FOUND() >> m.borderfill = DATA >>ENDIF >> >>USE IN TEMPRESO >>IF !EMPTY(dbfarea) >> SELECT (dbfarea) >>ENDIF >> >>*---Define Color Atributes for Policy Profiler. >>screenatr = SCHEME(1,1) >>inputsatr = SCHEME(1,2) >>statusatr = SCHEME(1,4) >>revcolor = rev_vid(inputsatr) >> >>?"SCREEN ATTRIBUTES:" >>?screenatr >>?inputsatr >>?statusatr >>?revcolor >> >>RETURN >> >>**************************************************************** >>FUNCTION rev_vid >>PARAMETER TEXT >>RETURN SUBSTR(TEXT,AT(",",TEXT)+1) >>RETURN >> >>**************************************************************** >>PROCEDURE setscreen2 >>#IF 'VISUAL' $ UPPER(VERSION()) >> >> sRGB = RGBSCHEME(2,1) >> sRGB = STRTRAN(sRGB, 'RGB(', '') >> sRGB = STRTRAN(sRGB, ')', '') >> >> nRed = VAL(SUBSTR(sRGB, 1, AT(',', sRGB, 1)-1)) >> nGreen = VAL(SUBSTR(sRGB, AT(',', sRGB, 1)+1, AT(',', sRGB, 2)-1)) >> nBlue = VAL(SUBSTR(sRGB, AT(',', sRGB, 2)+1, AT(',', sRGB, 3)-1)) >> >> _SCREEN.ForeColor = RGB(nRed, nGreen, nBlue) >> >> nRed = VAL(SUBSTR(sRGB, AT(',', sRGB, 3)+1, AT(',', sRGB, 4)-1)) >> nGreen = VAL(SUBSTR(sRGB, AT(',', sRGB, 4)+1, AT(',', sRGB, 5)-1)) >> nBlue = VAL(SUBSTR(sRGB, AT(',', sRGB, 5)+1)) >> >> _SCREEN.BackColor = RGB(nRed, nGreen, nBlue) >> _SCREEN.FillColor = RGB(nRed, nGreen, nBlue) >> >>#ENDIF >>CLEAR >>RETURN >>