我有主要的.exe app和.dll表单。从.exe我可以从.dll创建和显示表单,但它没有任务栏图标(左上角是小图标)。我想从另一个DLL加载此图标。我该怎么办?
答案 0 :(得分:3)
以下是您需要做的事情。我没有详细介绍,因为你的问题没有什么细节,我也无法确切地知道你如何将所有这些都融入到你的程序中。关键是要在高层清楚地说明你需要做什么。
加载包含资源的DLL
使用LoadLibrary
或LoadLibraryEx
执行此操作。如果需要调用DLL中的代码,请使用前者。否则使用后者传递LOAD_LIBRARY_AS_IMAGE_RESOURCE
。这两个函数都产生一个模块句柄HMODULE
。
加载DLL中的图标
将HMODULE
传递给LoadIcon
或LoadImage
以从资源加载图标。这些将产生HICON
。将其分配给Handle
实例的TIcon
属性。
将图标分配给表单
将您在上一步中获得的图标对象分配给表单的Icon
属性。
答案 1 :(得分:1)
非常感谢你。我试过像Form.Icon.Assign(Icon);,但它创建了AV错误消息。这是工作代码:
self.mapview.showsUserLocation = YES;