我有很多输入编辑之类的窗体,每个窗体上的工具栏按钮基本都一样,当然按钮图标也一样,
我现在是在每个窗体建立ImageList控件,然后将图标一一加进去,这样就有很多窗体重复
加载一样的图标,所以我想将这些图标放在RES文件里,然后在每个窗体里调用。问题1:这想法对么?是否就应该这么做还是有其他方法。
问题2:res文件我已做好,就是如何将图标赋给工具栏按钮。
问题3:{$R myRes.Res}应该放在那里  1:  {$R *.dfm}
      {$R myRes.Res}
  2: {$R *.res}
      {$R myRes.Res}仅有的10分!

解决方案 »

  1.   

    1,可以。
    使用API函数 
    ExtractIcon
    和ExtractIconEx 
    可以查查MSDN。
      

  2.   

    goldli的方法也不错,
    不过我还是想知道如何将res文件里的图标赋给toolbar-toolbutton
      

  3.   

    分三步,
    第一步:从myRes.Res提取出图像文件
    第二步:把图像文件加入Imagelist中
    第三步:指定toolbar-toolbutton的imageindex
      

  4.   

    问题3:{$R myRes.Res}应该放在那里   1):  {$R *.dfm} 
           {$R myRes.Res} 
      2): {$R *.res} 
           {$R myRes.Res} 
      

  5.   

    LoadIcon(HInstance,PAnsiChar('图标1.ico'));
    仅供参考
      

  6.   

    资源文件中:
    1 ICON .\Icons\Folder.ico用API加载图标句柄:
    function LoadIcon(hInstance: HINST; lpIconName: PChar): HICON;
    比如:LoadIcon(AInstance, MakeIntResource(1));用API加载图标到ImageList
    TMenuItem(A).ImageIndex := ImageList_AddIcon(ImageList1.Handle, LoadIcon(AInstance, MakeIntResource(1)));