rem .bas文件中的 Public Declare Function BeginPath Lib "gdi32" (ByVal hdc As Long) As Long Public Declare Function EndPath Lib "gdi32" (ByVal hdc As Long) As Long Public Declare Function TextOut Lib "gdi32" Alias "TextOutA" (ByVal hdc As Long, ByVal X As Long, ByVal Y As Long, ByVal lpString As String, ByVal nCount As Long) As Long Public Declare Function PathToRegion Lib "gdi32" (ByVal hdc As Long) As Long Public Declare Function GetRgnBox Lib "gdi32" (ByVal hRgn As Long, lpRect As RECT) As Long Public Declare Function CreateRectRgnIndirect Lib "gdi32" (lpRect As RECT) As Long Public Declare Function CombineRgn Lib "gdi32" (ByVal hDestRgn As Long, ByVal hSrcRgn1 As Long, ByVal hSrcRgn2 As Long, ByVal nCombineMode As Long) As Long Public Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long Public Declare Function SetWindowRgn Lib "user32" (ByVal hwnd As Long, ByVal hRgn As Long, ByVal bRedraw As Boolean) As Long Public Declare Function ReleaseCapture Lib "user32" () As Long Public Const WM_SYSCOMMAND = &H112 Public Const SC_MOVE = &HF010& Public Const RGN_AND = 1 Public Type RECT Left As Long Top As Long Right As Long Bottom As Long End Type Public Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long Public Declare Function GetWindowRect Lib "user32" (ByVal hwnd As Long, lpRect As RECT) As Long Public Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long rem ______________ 窗体中的 Private Sub Form_DblClick() End End Sub Private Sub Form_Load() Dim Rct As RECT Dim hRgn1, hRgn2 As Long With Me .FontName = "宋体" .FontSize = 100 End With BeginPath hdc TextOut hdc, 10, 10, "你好", 6 EndPath hdc hRgn1 = PathToRegion(hdc) GetRgnBox hRgn1, Rct hRgn2 = CreateRectRgnIndirect(Rct) CombineRgn hRgn2, hRgn2, hRgn1, 1 DeleteObject hRgn1 SetWindowRgn Me.hwnd, hRgn2, True End Sub |
联系客服