分类: C/C++
2008-08-04 09:30:31
(图一)
我第一次看到你的问题时,说句实话,我还从来没有听说过 IAutoComplete:
IAutocomplete 和 IAutoComplete2 IAutoComplete HRESULT Init( HWND hwndEdit, // 编辑控制或组合框 IUnknown *punkACL, // 实现 IEnumString 的对象指针 LPCOLESTR pwszRegKeyPath, // 存储格式串的注册库路径 LPCOLESTR pwszQuickComplete); // CTRL Enter的格式化串 // Enable 或 Disable 自动完成功能 HRESULT Enable(BOOL fEnable); enum { ACO_NONE = 0, ACO_AUTOSUGGEST = 0x1, ACO_AUTOAPPEND = 0x2, ACO_SEARCH = 0x4, ACO_FILTERPREFIXES= 0x8, ACO_USETAB = 0x10, ACO_UPDOWNKEYDROPSLIST= 0x20, ACO_RTLREADING = 0x40 } AUTOCOMPLETEOPTIONS; IAutoComplete2 HRESULT SetOptions(DWORD dwFlag); HRESULT GetOptions(DWORD *pdwFlag);你是不是觉得我应该熟悉微软发布的每一个新的COM接口? 对我来说这似乎是个好主意。
选项标志 | 描述 |
ACO_NONE | 没有自动完成 |
ACO_AUTOSUGGEST | 启用自动建议的下拉列表框 |
ACO_AUTOAPPEND | 启用自动添加 |
ACO_SEARCH | 在完成的串中添加搜索项目,选中此项目启动搜索引擎 |
ACO_FILTERPREFIXES | 不匹配逗号前缀,如“www.”,“http://”等 |
ACO_USETAB | 使用Tab键从下拉框清单中选择 |
ACF_UPDOWNKEYDROPSLIST | 使用上下箭头键显示自动建议的下拉框清单 |
ACO_RTLREADING | 常规窗口从左到右显示文本。Windows 可以被映射显示诸如 Hebrew 或 Arabic 这样从右到左阅读的语言。通常,某个控制的文本与其父窗口文本的阅读/显示方向相同。如果设置ACO_RTLREADING,那么文本阅读方向与其父窗口文本阅读方向相反。 |