Private Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long
Private 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
Private Declare Function ReleaseDC Lib "user32" (ByVal hwnd As Long, ByVal hdc As Long) As Long
Private Declare Function GetTextMetrics Lib "gdi32" Alias "GetTextMetricsA" _
(ByVal hdc As Long, lpMetrics As TEXTMETRIC) As Long
Private Type TEXTMETRIC
tmHeight As Long
tmAscent As Long
tmDescent As Long
tmInternalLeading As Long
tmExternalLeading As Long
tmAveCharWidth As Long
tmMaxCharWidth As Long
tmWeight As Long
tmOverhang As Long
tmDigitizedAspectX As Long
tmDigitizedAspectY As Long
tmFirstChar As Byte
tmLastChar As Byte
tmDefaultChar As Byte
tmBreakChar As Byte
tmItalic As Byte
tmUnderlined As Byte
tmStruckOut As Byte
tmPitchAndFamily As Byte
tmCharSet As Byte
End Type
Private Sub cmdDemo_Click()
Dim nhDC As Long
nhDC = GetDC(Picture1.hwnd)
Picture1.ForeColor = RGB(255, 0, 0) ' red
'/ "안녕하세요 !" ===> nCount(글자길이수)
TextOut nhDC, 20, 20, "안녕하세요 !", 12
TextOut nhDC, 20, 40, "Api 함수 데모입니다.", 20
TextOut nhDC, 20, 60, "**", 2
TextOut nhDC, 20, 80, "****", 4
TextOut nhDC, 20, 100, "******", 6
ReleaseDC Picture1.hwnd, nhDC
End Sub
Private Sub cmdExit_Click()
End
End Sub
Private Sub Command1_Click()
Dim TM As TEXTMETRIC
Dim nhDC As Long
nhDC = GetDC(Picture1.hwnd)
'/ DC에 있는 문자정보를 보여준다......
GetTextMetrics nhDC, TM
List1.AddItem "tmHeight" & Space(22 - Len("tmHeight")) & TM.tmHeight
List1.AddItem "tmAscent" & Space(22 - Len("tmAscent")) & TM.tmAscent
List1.AddItem "tmDescent" & Space(22 - Len("tmDescent")) & TM.tmDescent
List1.AddItem "tmInternalLeading" & Space(22 - Len("tmInternalLeading")) & TM.tmInternalLeading
List1.AddItem "tmExternalLeading" & Space(22 - Len("tmExternalLeading")) & TM.tmExternalLeading
List1.AddItem "tmAveCharWidth" & Space(22 - Len("tmAveCharWidth")) & TM.tmAveCharWidth
List1.AddItem "tmMaxCharWidth" & Space(22 - Len("tmMaxCharWidth")) & TM.tmMaxCharWidth
List1.AddItem "tmWeight" & Space(22 - Len("tmWeight")) & TM.tmWeight
List1.AddItem "tmItalic" & Space(22 - Len("tmItalic")) & TM.tmItalic
List1.AddItem "tmUnderlined" & Space(22 - Len("tmUnderlined")) & TM.tmUnderlined
List1.AddItem "tmStruckOut" & Space(22 - Len("tmStruckOut")) & TM.tmStruckOut
List1.AddItem "tmFirstChar" & Space(22 - Len("tmFirstChar")) & TM.tmFirstChar
List1.AddItem "tmLastChar" & Space(22 - Len("tmLastChar")) & TM.tmLastChar
List1.AddItem "tmDefaultChar" & Space(22 - Len("tmDefaultChar")) & TM.tmDefaultChar
List1.AddItem "tmBreakChar" & Space(22 - Len("tmBreakChar")) & TM.tmBreakChar
List1.AddItem "tmPitchAndFamily" & Space(22 - Len("tmPitchAndFamily")) & TM.tmPitchAndFamily
List1.AddItem "tmCharSet" & Space(22 - Len("tmCharSet")) & TM.tmCharSet
List1.AddItem "tmOverhang" & Space(22 - Len("tmOverhang")) & TM.tmOverhang
List1.AddItem "tmDigitizedAspectX" & Space(22 - Len("tmDigitizedAspectX")) & TM.tmDigitizedAspectX
List1.AddItem "tmDigitizedAspectY" & Space(22 - Len("tmDigitizedAspectY")) & TM.tmDigitizedAspectY
End Sub
Private Sub Form_Load()
Me.Left = (Screen.Width - Me.Width) / 2
Me.Top = (Screen.Height - Me.Height) / 2
End Sub