[blue]Option Compare Database
Option Explicit
Private Type Size
cx As Long
cy As Long
End Type
Private Declare Function GetTextExtentPoint32 Lib "gdi32" Alias "GetTextExtentPoint32A" (ByVal hDC As Long, ByVal lpsz As String, ByVal cbString As Long, lpSize As Size) As Long
Private Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function SelectObject Lib "gdi32" (ByVal hDC As Long, ByVal hObject As Long) As Long
' Assumes text0 parent is an Access Form
Private Sub Text0_Change()
Dim myFont As IFont
Dim result As Long
Dim sz As Size
Dim hDC As Long
hDC = GetDC(Text0.Parent.hwnd)
Set myFont = New StdFont
myFont.Name = Text0.FontName
myFont.Size = Text0.FontSize
myFont.Bold = Text0.FontBold
myFont.Weight = Text0.FontWeight
result = SelectObject(hDC, myFont.hFont)
GetTextExtentPoint32 hDC, Text0.Text, Len(Text0.Text), sz
Text0.Width = sz.cx * 15 + Text0.LeftPadding + Text0.RightPadding 'twips
If result Then SelectObject hDC, result
End Sub[/blue]