zunächst zeichne ich mit GraCaptionStr() den vollen String
dann übermale ich es mit dem gefundenen Such-Begriff.
Code: Alles auswählen
// String zeichnen
GraCaptionStr( oPS,{ aInfo[ XBP_DRAWINFO_RECT, 1 ],;
aInfo[ XBP_DRAWINFO_RECT, 2 ] },;
{ aInfo[ XBP_DRAWINFO_RECT, 3 ],;
aInfo[ XBP_DRAWINFO_RECT, 4 ] }, xData )
// jetzt Hilite Color
aSAttrs[GRA_AS_COLOR] := GRA_CLR_RED
GraSetAttrString( oPS, aSAttrs )
IF nPos = 1
// ab 1st Position
GraCaptionStr( oPS,{ aInfo[ XBP_DRAWINFO_RECT, 1 ],;
aInfo[ XBP_DRAWINFO_RECT, 2 ] },;
{ aInfo[ XBP_DRAWINFO_RECT, 3 ],;
aInfo[ XBP_DRAWINFO_RECT, 4 ] }, ::cHighlight )
ELSE
// Position irgendwo im String
aRect := GraQueryTextBox( oPS, LEFT( xData, nPos - 1 ) )
GraCaptionStr( oPS, { aInfo[ XBP_DRAWINFO_RECT, 1 ] + aRect[ 3, 1 ],;
aInfo[ XBP_DRAWINFO_RECT, 2 ] },;
{ aInfo[ XBP_DRAWINFO_RECT, 3 ] ,;
aInfo[ XBP_DRAWINFO_RECT, 4 ] }, ::cHighlight )
ENDIF
RETURN .F.
da sich die Positionen nicht verändert haben dürfte das nicht sein ... aber was ist es dann