我正在尝试使用 Carbon API 设置文本字段的文本,如下所示:
ControlID editId = {'EDIT', 3};
ControlRef ctrl;
GetControlByID(GetWindowRef(), &editId, &ctrl);
CFStringRef title = CFSTR("Test");
OSErr er = SetControlData(ctrl, kControlEntireControl, kControlEditTextTextTag, CFStringGetLength(title), title);
CFRelease(title);
我使用的是 XCode 的 C++ 代码模板,因此 GetWindowRef() 是对预定义 TWindow 类的调用。OSErr 返回值给了我 noErr,但我的文本字段只包含垃圾。我是否将文本字段的属性设置为 Unicode 并不重要。
任何想法这里有什么问题?