国际语言环境指南

鼠标选定

用户用鼠标按钮 1 创建一个主选定。 按下此按钮将撤消选定全部现有的选定,并将插入光标和锚点移到文本中按下按钮的位置上。按住鼠标按钮 1 并拖动它,可以选择锚点和指针位置之间的所有文本,并撤消选定此范围外的任何文本。

选定的文本受资源 XmNeditPolicy 影响,而后者可设置为 XmEDIT_LOGICALXmEDIT_VISUAL。如果 XmNeditPolicy 设置为 XmEDIT_LOGICAL,并且选定的文本是双向的,则选定的文本从视觉上将是不连续的,而是多个文本段的集合。这是因为逻辑缓冲区中的文本与显示内容之间没有一对一的对应关系。

因此,双向文本的逻辑字符的连续缓冲区在绘制时不能产生连续的字符流。与此相反,如果 XmNeditPolicy 设置为 XmEDIT_VISUAL,则选定文本在视觉上可能是连续的,而在逻辑缓冲区中却是分段的。因此,在同一个光标点处选定、删除和插入双向文本的顺序操作不会产生同一个字符串。