是否可以在TextEdit(AppleScript,Cocoa或Carbon)中选择(突出显示)一系列文本? 我尝试了这段代码但没有工作:
set value of attribute "AXSelectedTextRange" to {selStart, selLen}
看来这个属性是readonly。 感谢。
答案 0 :(得分:3)
不确定如何使用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个字符。