>lcNewValue = “ABC, DDC, [S1] AlV, GKL," >lcTempOrder = "[S2] DCC, KLB” && if won't fit on one line, wrap in appropriate place > >* If it won't fit, then break it like this example: > >*ABC, DDC >*[S1] AIV, GKL >*[S2] DCC, KLB >nWidth = THISFORM.GetTextWidth(lcTempOrder+lcNewValue, ALLTRIM(Thisform.txtorderby.fontname),THISFORM.txtorderby.fontsize,'') >IF nWidth > (THISFORM.txtOrderBy.Width - 30) && width of control minus the scrollbar width > lcTempOrder = ALLTRIM(lcTempOrder) + IIF(RIGHT(ALLTRIM(lcTempOrder),1)<>',',',','') > IF EMPTY(lcNewOrder) > lcNewOrder = lcTempOrder > IF !CHR(13) $ lcNewValue > lcTempOrder = CHR(13) + IIF(!THISFORM.plOrderByCat,LTRIM(CHRTRAN(lcNewValue,',','')),CHRTRAN(lcNewValue,',','')) > ELSE > lcTempOrder = IIF(!THISFORM.plOrderByCat,LTRIM(CHRTRAN(lcNewValue,',','')),CHRTRAN(lcNewValue,',','')) > ENDIF > ELSE > IF !CHR(13) $ lcTempOrder > lcTempOrder = CHR(13) + LTRIM(lcTempOrder) > lcNewOrder = lcNewOrder + lcTempOrder > lcTempOrder = CHR(13) + IIF(!THISFORM.plOrderByCat,LTRIM(CHRTRAN(lcNewValue,',','')),CHRTRAN(lcNewValue,',','')) > ELSE > lcNewOrder = lcNewOrder + lcTempOrder > lcTempOrder = CHR(13) + IIF(!THISFORM.plOrderByCat,LTRIM(CHRTRAN(lcNewValue,',','')),CHRTRAN(lcNewValue,',','')) > ENDIF > ENDIF > ELSE > lcTempOrder = lcTempOrder + LTRIM(lcNewValue) > ENDIF > >PROCEDURE gettextwidth >LPARAMETERS tc_Text, tc_FontName, tn_FontSize, tc_FontStyle > Return ( TxtWidth( tc_Text, tc_FontName, tn_FontSize, tc_FontStyle ) * ; > FontMetric( 6, tc_FontName, tn_FontSize, tc_FontStyle ) ) >