您现在的位置:计算机技术学习网 > 技术中心 > 编程开发 > C >

[MFC]CImageList仅显示黑色的问题

来源:农民伯伯 责任编辑:栏目编辑 发表时间:2013-07-01 12:00 点击:

前言

   鼓捣MFC中的工具栏时用到了CImageList,没仔细翻阅资料就开始用,结果出现了Win7 (32/64bit)系统中显示没问题,到xp和2003下就只显示黑色的问题...
 

 

正文

  一、问题代码及截图

    1.1  截图

      1.1.1  Win7

      
 

      1.1.2  Win2003 / XP

      

    1.2  代码

    CImageList    m_ilTB;
    CBitmap m_about;
    CBitmap m_config;
    CBitmap m_exit;


 

    m_ilTB.Create(3232, TRUE | ILC_COLOR8, 30);
    m_ilTB.SetBkColor(::GetSysColor(COLOR_BTNFACE));
//:GetSysColor(COLOR_BTNFACE)

    
//RGB(0, 0, 0) &m_config
    
//HICON hIcon = NULL;
    m_config.LoadBitmap(IDB_BITMAP_CONFIG);
    m_ilTB.Add(
&m_config,&m_config);

    m_about.LoadBitmap(IDB_BITMAP_ABOUT);
    m_ilTB.Add(
&m_about,&m_about);

    m_exit.LoadBitmap(IDB_BITMAP_EXIT);
    m_ilTB.Add(
&m_exit,&m_exit);
    
    m_toolBar.GetToolBarCtrl().SetImageList(
&m_ilTB);

 

      代码说明:

        a).  IDB_BITMAP_CONFIGIDB_BITMAP_ABOUTIDB_BITMAP_EXIT为三张bmp图片.

        b).  这段代码加在OnInitDialog中

 

  二、函数说明
 

    2.1  百度百科:http://baike.baidu.com/view/1725414.htm?fr=ala0_1

    2.2  Add方法

    相关新闻>>

      发表评论
      请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
      用户名: 验证码:点击我更换图片
      最新评论 更多>>

      推荐热点

      • Glib实例学习(2)双链表
      • C程序员要学C++吗?
      • C++中实现Singleton的正确方法
      • 编程思维训练(一)
      • 【编程好习惯】引入中间变量使程序更易读
      • 在C++中通过模板规避潜在错误
      • 在C++中通过模板去除强制转换
      • 【编程好习惯】减少搜索头文件的目录数
      网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
      Copyright © 2008-2015 计算机技术学习交流网. 版权所有

      豫ICP备11007008号-1