>>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 ) ) >>