La cosa no es tan simple... pero se puede!
Option Explicit
Public Const PS_SOLID As Long = 0
Public Type PointAPI
x As Long
y As Long
End Type
Declare Function apiLineTo Lib "gdi32" Alias "LineTo" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long) As Long
Declare Function apiFindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Declare Function apiCreatePen Lib "gdi32" Alias "CreatePen" (ByVal nPenStyle As Long, ByVal _
nWidth As Long, ByVal crColor As Long) As Long
Declare Function apiDeleteObject Lib "gdi32" Alias "DeleteObject" (ByVal hObject As Long) As Long
Declare Function apiSelectObject Lib "gdi32" Alias "SelectObject" (ByVal hdc As Long, _
ByVal hObject As Long) As Long
Declare Function apiGetDC Lib "user32" Alias "GetDC" (ByVal hwnd As Long) As Long
Declare Function apiMoveTo Lib "gdi32" Alias "MoveToEx" (ByVal hdc As Long, _
ByVal x As Long, ByVal y As Long, lpPoint As PointAPI) As Long
' ---------------------------------------------------
Option Explicit
Sub Dibuja_Triangulo()
Dim hwnd&, hdc&
Dim hPen&, hOldPen&, lpP As PointAPI
Dim x%, y%
hwnd = apiFindWindow(vbNullString, Me.Caption)
hdc = apiGetDC(hwnd)
hPen = apiCreatePen(PS_SOLID, 1, RGB(255, 0, 0))
hOldPen = apiSelectObject(hdc, hPen)
x = 50
y = 50
apiMoveTo hdc, x, y, lpP
apiLineTo hdc, x, y + 50
apiLineTo hdc, x + 50, y + 50
apiLineTo hdc, x, y
apiSelectObject hdc, hOldPen
apiDeleteObject hPen
End Sub
Saludos desde Baires, JuanC