📄 program.prg
字号:
PUBLIC frm
frm = CreateObject("Tform")
frm.Visible = .T.
DEFINE CLASS Tform As Form
Width=700
Height=250
Caption="Working with GDI Path and Region"
mouseX=0
mouseY=0
BorderStyle=2
Backcolor = Rgb (192,192,192)
hFont=0
PROCEDURE Load
DO decl
PROCEDURE Init
THIS.createFont
PROCEDURE Click
#DEFINE TRANSPARENT 1
#DEFINE OPAQUE 2
#DEFINE RGN_COPY 5
LOCAL lcText, hwnd, hdc, hStoredFont
hwnd = GetFocus()
hdc = GetWindowDC (hwnd)
= BeginPath (hdc)
hStoredFont = SelectObject (hdc, THIS.hFont)
= SetBkMode (hdc, TRANSPARENT)
= TextOut(hdc,15,25, "Foxpro",6)
= EndPath (hdc)
hRgn = PathToRegion (hdc)
= SetWindowRgn (hwnd, hRgn, 1)
= SelectObject (hdc, hStoredFont)
= ReleaseDC (hwnd, hdc)
PROCEDURE Destroy
THIS.releaseFont
PROCEDURE createFont
#DEFINE FW_BOLD 700
#DEFINE FW_NORMAL 400
#DEFINE ANSI_CHARSET 0
#DEFINE OUT_OUTLINE_PRECIS 8
#DEFINE CLIP_STROKE_PRECIS 2
#DEFINE PROOF_QUALITY 2
#DEFINE DEFAULT_PITCH 0
THIS.hFont= CreateFont (;
100,0, 0,0, FW_BOLD, 0,0,0, ANSI_CHARSET,;
OUT_OUTLINE_PRECIS, CLIP_STROKE_PRECIS,;
PROOF_QUALITY, DEFAULT_PITCH, "Times New Roman")
PROCEDURE releaseFont
= DeleteObject (THIS.hFont)
ENDDEFINE
PROCEDURE decl
DECLARE INTEGER GetWindowDC IN user32 INTEGER hwnd
DECLARE INTEGER GetFocus IN user32
DECLARE INTEGER ReleaseDC IN user32;
INTEGER hwnd, INTEGER hdc
DECLARE INTEGER SelectObject IN gdi32;
INTEGER hdc, INTEGER hObject
DECLARE INTEGER DeleteObject IN gdi32 INTEGER hObject
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 CreateFont IN gdi32;
INTEGER nHeight, INTEGER nWidth,;
INTEGER nEscapement, INTEGER nOrientation,;
INTEGER fnWeight, INTEGER fdwItalic,;
INTEGER fdwUnderline, INTEGER fdwStrikeOut,;
INTEGER fdwCharSet,;
INTEGER fdwOutputPrecision,;
INTEGER fdwClipPrecision,;
INTEGER fdwQuality,;
INTEGER fdwPitchAndFamily,;
STRING lpszFace
DECLARE INTEGER BeginPath IN gdi32 INTEGER hdc
DECLARE INTEGER EndPath IN gdi32 INTEGER hdc
DECLARE INTEGER PathToRegion IN gdi32 INTEGER hdc
DECLARE SetWindowRgn IN user32;
INTEGER hWnd, INTEGER hRgn, INTEGER bRedraw
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -