为什么我在执行了下面的语句后
 Application.Icon.Handle := LoadIcon(hInstance, '102');
并没有取出资源文件中的图标?

解决方案 »

  1.   

    《Delphi5开发人员指南》里面有例子
      

  2.   

    看我整理发表的文章
    http://www.csdn.net/develop/Read_Article.asp?Id=18399
      

  3.   

    你算是问对人了!要动态调用资源文件要用dll
    一 般 来 说, 一 个 应 用 程 序 的 所 有 资 源 都 存 放 在 一 个RES 文 件 里, 然 后 在DELPHI 进 行 编 译 的 阶 段 将 资 源 文 件 的 内 容 与 最 终 的EXE 文 件 合 并 在 一 起, 因 此 编 译 后 的RES 文 件 并 没 有 什 么 作 用, 仅 仅 提 供 用 来 查 阅 使 用。
    创建并编译一个空的DLL工程或者是Resource dll,在这个工程中包含你的.res资源文件。
    示例:
    library ResTest;
    uses
    SysUtils;
    {$R MYRES.RES}
      begin  end.
     使用这个纯资源DLL时,只需要简单地载入这个DLL,就可以使用你想使用的资源。
      示例:  {$IFDEF WIN32}  const BadDllLoad = 0;  {$ELSE}  const BadDllLoad = 32;  {$ENDIF}  procedure TForm1.Button1Click(Sender: TObject);  var  h : THandle;   Icon : THandle;    begin  h := LoadLibrary('RESTEST.DLL');    if h <= BadDllLoad then  ShowMessage('Bad Dll Load')  else begin  Icon := LoadIcon(h, 'ICON_1');  DrawIcon(Form1.Canvas.Handle, 10, 10, Icon);  FreeLibrary(h);  end;  end;
      

  4.   

    先确定你的资源文件中是否有102 这个icon