发信人: meichaol()
整理人: leitiger(2002-11-20 11:58:55), 站内信件
|
【 在 leitiger 的大作中提到:】
:MSDN带例子,但是我解决不了在PB中获得一个图标资源的句柄(HICON)的问题。谁有办法?
:
:或者谁有现成的DLL或COM,最好是DLL,我记得以前有一个COM,但是安装时还要注册,增加了麻烦。
:......
首先制作一个图标的DLL文件,可以使用VC,(我可以提供一个模版:))
假设名为iconfile.dll
//定义如下的全局函数
FUNCTION ulong LoadImage(ulong hInst,ulong lpsz,ulong un1,ulong n1,ulong n2,ulong un2) LIBRARY "user32.dll" ALIAS FOR "LoadImageA"
FUNCTION ulong LoadLibraryEx(ref string lpLibFileName,ulong hFile,ulong dwFlags) LIBRARY "kernel32.dll" ALIAS FOR "LoadLibraryExA"
FUNCTION ulong GetLastError() LIBRARY "kernel32.dll"
FUNCTION ulong FreeLibrary(ulong hLibModule) LIBRARY "kernel32.dll"
//下面是取得图标句炳的代码
//定义常量
CONSTANT int IMAGE_ICON = 1
ulong hicon //图标句炳
ulong ul_error //错误号码
//图标文件
string strDllFile = "iconfile.dll"
//图标文件句炳
ulong m_hDll
m_hDll = LoadLibraryEx(strDllFile, 0, 0);
//If failed
if ( m_hDll = 0) Then
ul_error = GetLastError()
return ul_error
End If
ulong ulIn = 204 //图标在文件中的资源ID
//取得图标句炳
hicon = LoadImage(m_hdll,ulIn, IMAGE_ICON, 0, 0, 0);
if ( hicon = 0 ) Then
ul_error = GetLastError()
return ul_error
End if
//释放资源
FreeLibrary(m_hDll) |
|