所以我试图在Win32中初始化Common Controls和视觉样式.我构建了一个DLL,其中包含我编写的一些自定义控件,以及一个包含GUI应用程序的EXE.
通常情况下,责任分离似乎是我的DLL不应该担心我们是否启用窗口样式.它应该只生成自定义控件并将它们暴露给依赖的EXE.然后EXE可以决定它是否需要视觉样式,并且DLL不是更明智的.
问题是:我的DLL在进程附加中在DllMain中注册了它的窗口类.但是,如果我叫INITCOMMONCONTROLSEX的EXE,里面我的自定义控制按钮和诸如此类的东西显示不出来,因为自定义控件登记前的EXE可以初始化公共控件.
为了证明这一点,我在EXE调用InitCommonControlsEx 之后强制取消注册并重新注册我的自定义控件,并修复它:按钮显示在我的自定义控件上,带有视觉样式.
在理想的世界中,我希望能够在将来的程序中链接到我的共享库,并开始使用自定义控件,而无需担心修复常见控件和样式的问题.这可能吗?
| 归档时间: |
|
| 查看次数: |
295 次 |
| 最近记录: |