是否可以在TextEdit中选择(突出显示)一系列文本(AppleScript,Cocoa或Carbon)?
我尝试了这段代码,但是没有用:

set value of attribute "AXSelectedTextRange" to {selStart, selLen}


看来这个属性是只读的。
谢谢。

最佳答案

不知道如何使用AppleScript进行操作(应该可以),使用可访问性API,您可以执行以下操作:

AXUIElementRef systemWideElement = AXUIElementCreateSystemWide();
AXUIElementRef focussedElement = NULL;
AXError error = AXUIElementCopyAttributeValue(systemWideElement, kAXFocusedUIElementAttribute, (CFTypeRef *)&focussedElement);
CFRange range = CFRangeMake(0, 10);
AXUIElementSetAttributeValue(focussedElement, kAXSelectedTextRangeAttribute, AXValueCreate(kAXValueCFRangeType, &range));
CFRelease(focussedElement);
CFRelease(systemWideElement);


如果将TextEdit窗口聚焦,则将选择前10个字符。

关于macos - 在TextEdit中以编程方式选择文本范围,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10487350/

10-11 13:55