WEB开发网
开发学院软件开发VC VC++实现显示透明的256色以上的图标 阅读

VC++实现显示透明的256色以上的图标

 2010-05-27 20:37:18 来源:WEB开发网   
核心提示:三、程序代码//int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct){if (CFrameWnd::OnCreate(lpCreateStruct) == -1)return -1;if (!m_wndToolBar.CreateEx(this, TBSTYLE

三、程序代码

//////////////////////////////////////////////////////////////////////////////////////
  int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
  {
   if (CFrameWnd::OnCreate(lpCreateStruct) == -1)
    return -1;
   if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE |
    CBRS_TOP| CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY |
    CBRS_SIZE_DYNAMIC) || !m_wndToolBar.LoadToolBar(IDR_MAINFRAME))
   {
    TRACE0("Failed to create toolbarn");
    return -1; // fail to create
   }
   if (!m_wndStatusBar.Create(this) ||
    !m_wndStatusBar.SetIndicators(indicators,
    sizeof(indicators)/sizeof(UINT)))
   {
    TRACE0("Failed to create status barn");
    return -1; // fail to create
   }
   //设置ToolBar的图标列表
   m_ilTB.Create(32, 32, TRUE | ILC_COLOR8, 4, 0);
   HICON hIcon = NULL;
   hIcon = (HICON)::LoadImage(::AfxGetInstanceHandle(),MAKEINTRESOURCE(IDI_ICON1), IMAGE_ICON, 32, 32, 0);
  m_ilTB.Add(hIcon);
   hIcon = (HICON)::LoadImage(::AfxGetInstanceHandle(),MAKEINTRESOURCE(IDI_ICON2), IMAGE_ICON, 32, 32, 0);
  m_ilTB.Add(hIcon);
   hIcon = (HICON)::LoadImage(::AfxGetInstanceHandle(),
  MAKEINTRESOURCE(IDI_ICON3), IMAGE_ICON, 32, 32, 0);
   m_ilTB.Add(hIcon);
   hIcon = (HICON)::LoadImage(::AfxGetInstanceHandle(),MAKEINTRESOURCE(IDI_ICON4), IMAGE_ICON, 32, 32, 0);
  m_ilTB.Add(hIcon);
   m_wndToolBar.GetToolBarCtrl().SetImageList(&m_ilTB);
   // TODO: Delete these three lines if you don't want the toolbar to be dockable
   m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);
   EnableDocking(CBRS_ALIGN_ANY);
   DockControlBar(&m_wndToolBar);
   return 0;
  }

四、小结

本实例通过灵活的使用CImageList类的Create()函数实现了透明的256色位图的显示,其实Visual C++中的CImageList类远比我们想象的强大的多,例如通过图标的掩模操作也能实现包括透明显示的各种效果,只是没有我们这里介绍的方法简单而已。有兴趣的读者朋友可以仔细研究研究,相信一定会获益匪浅。

上一页  1 2 

Tags:VC 实现 显示

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接