【发布时间】:2014-01-31 06:45:04
【问题描述】:
我希望能够创建一个包含 2 个文本字段的对话框。 我可以使用下面的代码创建一个带有 1 个文本字段的对话框,
const void* keys[] =
{
kCFUserNotificationAlertHeaderKey,
kCFUserNotificationAlertMessageKey,
kCFUserNotificationAlternateButtonTitleKey,
kCFUserNotificationTextFieldTitlesKey
};
const void* values[] =
{
titleStr,
messageStr,
CFSTR("Cancel"),
labelStr
};
CFDictionaryRef elements = CFDictionaryCreate(0, keys, values, sizeof(keys)/sizeof(*keys), &kCFTypeDictionaryKeyCallBacks,&kCFTypeDictionaryValueCallBacks);
CFShow(elements);
当我再添加一个键值对时,例如kCFUserNotificationTextFieldTitlesKey 和一些 CFSTR(""),我在对话框中看不到任何更新。
那么我们怎样才能拥有多个文本字段,例如用户名/密码,在 CFDitionaryCreate() 中。
我在文档中读到,我们可以有多个 titleKeys 和一个数组,但我不知道该怎么做。
我能够在kCFUserNotificationProgressIndicatorValueKey 对话框中添加一个字段,但无法再次添加相同的键。
我对 OSX 和 carbon API 比较陌生(我知道它已被弃用) 如果有人指出可以帮助我实现这一目标的正确资源或示例,我将不胜感激。
此外,这里不能选择使用 Cocoa。我需要使用碳来实现这一点。
【问题讨论】:
标签: c++ xcode macos macos-carbon