Code:
Function PixelStrSize($sInput)
	
	;FUNCTION		PixelStrSize()
	;ACTION			Used for sizing text boxes based on number of cs
	;SYNTAX			RETCODE = PixelStrSize($sInput[,OPTIONAL $Fontsize])
	;PARAMETERS		strInput
	;					Text that will go in the text box
	;RETURN			Size of text box
	;REMARKS			Function to return a pixel length of a string that is used to facilitate window sizing
	;DEPENDENCIES	none
	;EXAMPLE			$DriveLength=PixelStrSize($MapArray[$MapNumber][0])
	
	$ = SetOption("CaseSensitivity", "On")
	Dim $i, $c
	For $i = 1 to Len($sInput)
		$c = SubStr($sInput, $i, 1)
		Select
			Case $c = "'"
				$PixelStrSize = CDbl($PixelStrSize) + 2
			Case InStr('fjt !,.:;-/\()"Jr', $c)
				$PixelStrSize = CDbl($PixelStrSize) + 3
			Case InStr("szkvxy?cL", $c)
				$PixelStrSize = CDbl($PixelStrSize) + 5
			Case InStr("ughdeK0123456789$BEFYZabnopqP", $c)
				$PixelStrSize = CDbl($PixelStrSize) + 6
			Case InStr("UVRSTNACDGH*+X<=>&#OQ", $c)
				$PixelStrSize = CDbl($PixelStrSize) + 8
			Case InStr("Mwm", $c)
				$PixelStrSize = CDbl($PixelStrSize) + 9
			Case InStr("@%W", $c)
				$PixelStrSize = CDbl($PixelStrSize) + 12
			Case 1
				$PixelStrSize = CDbl($PixelStrSize) + 10
		EndSelect
	Next
	$ = SetOption("CaseSensitivity", $)
	
EndFunction


Edited by It_took_my_meds (2014-07-22 10:54 AM)
Edit Reason: Changed setting case sensitivity back as per Jochen's suggestion