0

我正在为 eclipse CDT 编辑器开发插件,它是一个可以突出显示某些代码部分的覆盖。我可以访问打开的 CEditor(及其 IDocument),也可以从它访问StyledText。我还有一个我想要突出显示的部分的字符偏移量。目前我在编辑器上有PaintListener,我可以绘制(我制作透明图像,在其上突出显示,然后将其设置为文本背景,即styledText.setBackgroundImage(newImage);)。从 styledText 我还能够获取有关文本高度和文本垂直位置(包括滚动)的信息,即我能够突出显示代码行,但我只想突出显示该行的一部分。

gc.fillRectangle(OFFSETX1, styledText.getLinePixel(LINE), OFFSETX2, tyledText.getLineHeight());

我怎样才能从字符偏移中获得 X 像素(OFFSETX1,OFFSETX2)??(是否可以从 StyledText 获得它?)。我一直在搜索 StyledText API 几个小时,但找不到它。谢谢你。

4

1 回答 1

1

利用StyledText.getLocationAtOffset

返回文本中指定偏移处字符边界框左上角的 x、y 位置。该点相对于小部件客户区的左上角。

Point loc = styledText.getLocationAtOffset(character offset);
于 2015-08-06T07:51:23.627 回答