Public Sub SetHeight(frmForm As Form, txtlblControl As Control, strString As String)
Dim strParse() As String Dim i As Integer Dim intLines As Integer Dim intFontSize As Integer 'SAVE EACH LINE OF THE STRING INTO AN ARRAY, 'EDIT THE DELIMITER IF NECESSARY strParse = Split(strString, Chr(10)) 'RECORD THE FORM'S FONT SIZE BEFORE WE CHANGE IT intFontSize = frmForm.FontSize 'CHANGE THE FORM'S FONT SIZE TO THAT OF THE CONTROL WE WANT 'TO RESIZE SO WE CAN USE THE TEXTWIDTH & TEXTHEIGHT METHODS frmForm.FontSize = txtlblControl.FontSize 'FIND OUT HOW MANY LINES ARE NECESSARY TO FIT THE TEXT For i = 0 To UBound(strParse) intLines = intLines + (frmForm.TextWidth(strParse(i)) \ txtlblControl.Width) + 1 Next 'SET THE CONTROL'S HEIGHT txtlblControl.Height = CLng(frmForm.TextHeight("WQRqjy") * intLines) 'RESET THE FORM'S FONT SIZE BACK TO ITS ORIGINAL VALUE frmForm.FontSize = intFontSize End Sub |