Declare Function PathToRegion Lib "gdi32" (ByVal hdc As Long) As Long
В успешном случае функция возвращает дескриптор полученного региона. В случае ошибки функция возвратит 0. Для получения кода ошибки используйте GetLastError, которая может вернуть следующие значения
ERROR_CAN_NOT_COMPLETE |
ERROR_INVALID_PARAMETER |
ERROR_NOT_ENOUGH_MEMORY |
' Создадим регион из текста ' с помощью траектории Dim hRgn1 As Long, hRgn2 As Long Dim rct As RECT Me.Font.Name = "Arial" Me.Font.Bold = True Me.Font.Size = 60 ' Создадим траекторию из текста BeginPath hdc TextOut hdc, 5, 6, "Русский_Проект", 14 EndPath hdc ' Преобразуем траекторию в регион hRgn1 = PathToRegion(hdc) GetRgnBox hRgn1, rct hRgn2 = CreateRectRgnIndirect(rct) CombineRgn hRgn2, hRgn2, hRgn1, RGN_AND DeleteObject hRgn1 SetWindowRgn hwnd, hRgn2, 1