标  题: 如何在程序中获得其他程序的 图标?                 
发信人: Pacific (无情~~~Nolove), 信区: VisualC
发信站: BBS 水木清华站 (Fri Oct 16 16:51:33 1998)


      两种方法:                                                                  
        (1) SDK函数 SHGetFileInfo 或使用 ExtractIcon获得图标资源的 handle,       
        (2) SDK函数 SHGetFileInfo获得有关文件的 很多信息,如大小图标,属性,        
           类型等.                                                               
          Example(1): 在程序窗口左上角显示 NotePad图标.                          
           void CSampleView: OnDraw(CDC * pDC)                                   
             {                                                                   
                if( :: SHGetFileInfo(_T("c:\\pwin95\\notepad.exe"),0,            
                     &stFileInfo,sizeof(stFileInfo),SHGFI_ICON))                 
                   {                                                             
                     pDC ->DrawIcon(10,10,stFileInfo.hIcon);                     
                   }                                                             
              }                                                                  
            Example(2):同样功能,Use ExtractIcon Function                         
                                                                                 
            void CSampleView:: OnDraw(CDC *pDC)                                  
              {                                                                  
                HICON hIcon=:: ExtractIcon(AfxGetInstanceHandle(),_T             
                 ("NotePad.exe"),0);                                             
                                                                                 
                if (hIcon &&hIcon!=(HICON)-1)                                    
                   pDC->DrawIcon(10,10,hIcon);                                   
                }                                                                
   说明: 获得notepad.exe的路径正规上来说用GetWindowsDirectory 函数得到,          
      如果是调用 win95下的画笔,应该用访问注册表的方法获得其路径,要作成一       
个                                                                               
     比较考究的程序,考虑应该全面点.                                             
                                                                                 

--
        老鸟有交待,中鸟要等待,菜鸟要忍耐。
        老鸟级功夫:吹牛、聊天、玩MUD 、发呆。
        中鸟级功夫:睡觉、灌水、玩游戏、NT&VC。
        菜鸟级功夫:学习、泡妞、玩篮球、And so on

        My E-Mail: Nolove@263.net

--
☆ 来源:.哈工大紫丁香 bbs.hit.edu.cn.[FROM: yazhou.bbs@bbs.net.t]
※ 修改:.fzx 于 Aug  9 16:50:45 修改本文.[FROM: heart.hit.edu.cn]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:2.361毫秒