LPARAMETERS pcTextString,pnLabelWidth LOCAL lnNdx, lcDrive, lcTest, lnStart lnStart = ATC(":\",pcTextString) IF lnStart > 0 *-* Trim path lnStart = lnStart + 1 lnNdx = 0 lcTest = pcTextString lcDrive = LEFT(pcTextString,lnStart) + ".." DO WHILE thisform.TextWidth(pcTextString) > pnLabelWidth lnNdx = lnNdx + 1 DO WHILE SUBSTR(pcTextString,lnStart+lnNdx,1) != "\" .AND. lnStart+lnNdx <= LEN(pcTextString) lnNdx = lnNdx + 1 ENDDO IF SUBSTR(pcTextString,lnStart+lnNdx,1) != "\" pcTextString = lcTest EXIT ENDIF lcTest = lcDrive + SUBSTR(pcTextString,lnStart+lnNdx) IF thisform.TextWidth(lcTest) <= pnLabelWidth pcTextString = lcTest EXIT ENDIF ENDDO ELSE *-* Trim text description pcTextString = pcTextString ENDIF RETURN pcTextStringYou can possibly adopt this to determine how wide you need for the form.