我试图使用Carbon API这样设置文本框的文本:如何在OSX上的Carbon文本框中设置文本?
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);
我使用的是C++的XCode的代码模板,所以GetWindowRef()是预定义TWindow类的调用。 OSErr返回值给我noErr,但我的文本字段只包含垃圾。 如果我将文本字段的属性设置为Unicode,则无关紧要。
任何想法这里有什么错?
是的,它返回noErr。 thx为CFRelease提示 – newgre 2009-03-03 22:04:44