c++ - Internet Explorer 工具栏上组合框的 Windows 7 样式,怎么样?

标签 c++ windows-7 toolbar

我正在开发一个 Internet Explorer 工具栏,我想放置一个组合框 我在我的工具栏上创建。

HWND combobox1=CreateWindow(_T("COMBOBOX"), _T("combobox"), WS_BORDER |
        WS_VISIBLE | WS_CHILD | CBS_DROPDOWN, 10, 0, 200,
        250, m_hWnd, (HMENU) NULL,NULL , NULL);

它工作正常,但组合框的样式采用 Windows 经典方式,我想让它使用 Windows Aero 主题。我试过这个:

#pragma comment(linker,"\"/manifestdependency:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"")`

Image

但是什么都没有改变。 (我在一个简单的 Win32 应用程序上试过这个,样式工作正常,但在工具栏上的 DLL 中,样式没有设置)

Here's a simple example .

最佳答案

将 comctl32 list 添加到加载到另一个进程的 DLL 不会影响由 EXE 建立的默认激活上下文。

相反,您的 DLL 需要在调用时激活它的激活上下文。请参见 CreateActCtx、ActivateActCtx。然后,您将在返回 IE 之前在每个方法中停用 ActCtx,并在关闭时使用 ReleaseActCtx。

一种便宜/快速的方法是 ISOLATION_AWARE_ENABLED。

马丁

关于c++ - Internet Explorer 工具栏上组合框的 Windows 7 样式,怎么样?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6118480/

相关文章:

C++ 异常处理

c++ - 获取具有默认值的 map 元素的模板

c++ - 如何将动态分配的多维结构数组写入文件?

python - 关注终端

windows-7 - Windows 7 中的主目录和 .emacs 文件

wpf - 当 Windows 检测到应用挂起时记录堆栈跟踪

html - KineticJS Image Sprite 作为 Canvas 中的工具栏按钮图像

c++ - 如果从不调用任何非常量方法,丢弃 const 是否安全

android - getSupportActionBar setSubtitle 仅在 Activity 重新创建后显示

swift - 更改禁用的工具栏按钮的颜色