对话框程序加载Dll中的资源(HICON)

coldplay968 2006-11-18 03:56:51
我的dllmytest.dll文件是这样建立的:只是加入了一张ID为IDI_ICON1的ICON(图标)资源,我就编译连接了。
然后我在另外一个对话框程序中的OnInitDialog() 函数中写下如下语句,但是发现
HICON m_myicon为空.根本就不能从Dll中把图标加载过来

oldhand = AfxGetResourceHandle() ;
hDll = LoadLibrary("dllmytest.dll");
if( hDll == NULL)
AfxMessageBox("加载DLL失败") ;
AfxSetResourceHandle(hDll);
m_myicon = LoadIcon(hDll,"IDI_ICON1");//m_myicon为空了
...全文
205 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
claider 2007-02-07
  • 打赏
  • 举报
回复
ExtractIcon
taianmonkey 2006-11-20
  • 打赏
  • 举报
回复
我的例子:
HINSTANCE hRes = NULL;
GetModuleFileName(NULL,tcResource,MAX_PATH);
(_tcsrchr(tcResource,'\\'))[1] = 0;
lstrcat(tcResource,_T("DllResource.dll"));

hRes= LoadLibrary(tcResource);

if(hRes)
AfxSetResourceHandle(hRes);

//查找字符串
LoadString(hRes,1, sz, sizeof(sz));

SetDlgItemText(IDC_BUTTON1,sz);

//设置按钮资源
HICON hIcon1; // icon handle
HICON hIcon2; // icon handle

hIcon1 = LoadIcon(hRes, MAKEINTRESOURCE(102));
hIcon2 = LoadIcon(hRes, MAKEINTRESOURCE(101));

m_btnButton1.SetIcon(hIcon1, hIcon2);

LoadResource()
coldplay968 2006-11-20
  • 打赏
  • 举报
回复
up
coldplay968 2006-11-20
  • 打赏
  • 举报
回复
up
coldplay968 2006-11-19
  • 打赏
  • 举报
回复
up 晕 这么久都没人回复
coldplay968 2006-11-19
  • 打赏
  • 举报
回复
up

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧