DO decl
#DEFINE TRANSPARENT 1
#DEFINE OPAQUE 2
#DEFINE TA_LEFT 0
#DEFINE TA_CENTER 6
#DEFINE TA_RIGHT 2
PRIVATE hWindow, hDC
hWindow = GetActiveWindow()
hDC = GetWindowDC(hWindow)
= SetBkMode (hDC, TRANSPARENT)
DO PrintText WITH Rgb(192, 0, 0), 600, 100, 0, 0
DO PrintText WITH Rgb( 0,192, 0), 600, 120, 6, 1
DO PrintText WITH Rgb( 0, 0,192), 600, 140, 2, 2
DO PrintText WITH Rgb(192, 0,192), 600, 160, 2, 3
DO PrintText WITH Rgb(192,192, 0), 600, 180, 0, 1
DO PrintText WITH Rgb( 0,192,192), 600, 200, 6, 0
= ReleaseDC(hWindow, hDC)
PROCEDURE PrintText (lnColor, lnX, lnY, lnAlign, lnInterChar)
LOCAL lcText, lcFont, lnBufsize
lcFont = SPACE(250)
lnBufsize = GetTextFace(hDC, Len(lcFont), @lcFont)
lcFont = LEFT(lcFont, lnBufsize)
= SetTextAlign (hDC, lnALign)
= SetTextCharacterExtra (hDC, lnInterChar)
= SetTextColor (hDC, lnColor)
lcText = "Font: " + lcFont + ", color: " + LTRIM(STR(GetTextColor(hDC))) +;
", align: " + LTRIM(STR(GetTextAlign(hDC))) +;
", interchar: " + LTRIM(STR(GetTextCharacterExtra(hDC)))
= TextOut (hDC, lnX, lnY, lcText, Len(lcText))
PROCEDURE decl
DECLARE INTEGER GetActiveWindow IN user32
DECLARE INTEGER GetWindowDC IN user32 INTEGER hWnd
DECLARE INTEGER ReleaseDC IN user32 INTEGER hWnd, INTEGER hDC
DECLARE INTEGER GetTextAlign IN gdi32 INTEGER hdc
DECLARE INTEGER SetTextAlign IN gdi32 INTEGER hdc, INTEGER fMode
DECLARE INTEGER SetTextCharacterExtra IN gdi32 INTEGER hdc, INTEGER nCharExtra
DECLARE INTEGER GetTextCharacterExtra IN gdi32 INTEGER hdc
DECLARE INTEGER GetTextColor IN gdi32 INTEGER hdc
DECLARE INTEGER SetTextColor IN gdi32 INTEGER hdc, INTEGER crColor
DECLARE INTEGER SetBkMode IN gdi32 INTEGER hdc, INTEGER iBkMode
DECLARE INTEGER TextOut IN gdi32;
INTEGER hdc, INTEGER x, INTEGER y,;
STRING lpString, INTEGER nCount
DECLARE INTEGER GetTextFace IN gdi32;
INTEGER hdc, INTEGER nCount, STRING @lpFaceName
GetActiveWindow
GetTextAlign
GetTextCharacterExtra
GetTextColor
GetTextFace
GetWindowDC
ReleaseDC
SetBkMode
SetTextAlign
SetTextCharacterExtra
SetTextColor
TextOut