真彩位图工具栏

原创 2005年04月23日 19:05:00

#define IDC_MAIN_TOOLBAR 1001

#include <commctrl.h>

InitCommonControls();

case WM_CREATE:
        hWndToolBar = CreateToolBar(hWnd);
  break;

case WM_SIZE:
      hWndToolBar = GetDlgItem(hWnd,IDC_MAIN_TOOLBAR);
      SendMessage(hWndToolBar,WM_SIZE,0,0);
      break;

HWND CreateToolBar(HWND hWndParent)
{
 HWND hWndTB;
 TBBUTTON tbb[4];
 //TBADDBITMAP tbab;
    
 hWndTB = CreateWindowEx(0,TOOLBARCLASSNAME,TEXT(""),

WS_CHILD|WS_VISIBLE|CCS_NODIVIDER|TBSTYLE_LIST,

0,0,0,0,hWndParent,(HMENU)IDC_MAIN_TOOLBAR,

hInst,NULL);
 if(!hWndTB)
  return 0;
 SendMessage(hWndTB, TB_BUTTONSTRUCTSIZE, (WPARAM)sizeof(TBBUTTON), 0);

 HIMAGELIST hImageList = ImageList_Create(32,28,ILC_COLOR24,3,1);
 HBITMAP hBitmap = LoadBitmap(hInst,MAKEINTRESOURCE(IDB_MAIN_TOOLBAR));
 ImageList_Add(hImageList,hBitmap,NULL);
 DeleteObject (hBitmap);

 SendMessage(hWndTB,TB_SETIMAGELIST,0,(LPARAM)hImageList);

 //tbab.hInst = NULL;
 //tbab.nID   =IDB_TOOLBAR;
 //SendMessage(hWndTB, TB_ADDBITMAP, (WPARAM)(int)2, (LPARAM)&tbab);

 ZeroMemory(tbb, sizeof(tbb));

 tbb[0].iBitmap =MAKELONG(0,0) ;
 tbb[0].fsState = TBSTATE_ENABLED;
 tbb[0].fsStyle = TBSTYLE_BUTTON|BTNS_AUTOSIZE;
 tbb[0].idCommand = IDM_FIND;
    tbb[0].iString = (INT_PTR)TEXT("查找");

 tbb[1].iBitmap =MAKELONG(1,0);
 tbb[1].fsState = TBSTATE_ENABLED;
 tbb[1].fsStyle = TBSTYLE_BUTTON|BTNS_AUTOSIZE;
 tbb[1].idCommand = IDM_BACK;
    tbb[1].iString = (INT_PTR)TEXT("后退");

 tbb[2].iBitmap =MAKELONG(2,0);
 tbb[2].fsState = TBSTATE_ENABLED;
 tbb[2].fsStyle = TBSTYLE_BUTTON|BTNS_AUTOSIZE;
 tbb[2].idCommand = IDM_FORWARD;
    tbb[2].iString = (INT_PTR)TEXT("向前");

 tbb[3].iBitmap =MAKELONG(3,0);
 tbb[3].fsState = TBSTATE_ENABLED;
 tbb[3].fsStyle = TBSTYLE_BUTTON|BTNS_AUTOSIZE;
 tbb[3].idCommand = IDM_VIEW;
    tbb[3].iString = (INT_PTR)TEXT("视图");

 SendMessage(hWndTB, TB_ADDBUTTONS, sizeof(tbb)/sizeof(TBBUTTON), (LPARAM)&tbb);
 SendMessage(hWndTB,WM_SIZE,0,0);

 return hWndTB;
}

程序运行如下:

真彩位图工具栏的实现

VC++6.0直接支持256色工具栏的编辑和使用,若想建立真彩(24位位图)工具栏,必须借助其它绘图工具绘制工具栏位图。制作真彩工具栏的主要步骤:①用绘图工具(我用的是Fireworks)制作三张24...
  • Augusdi
  • Augusdi
  • 2011年12月06日 10:21
  • 985

真彩位图工具栏的实现

  • 2014年10月14日 22:41
  • 78KB
  • 下载

真彩位图工具栏的实现

  • 2015年01月23日 15:30
  • 68KB
  • 下载

24位真彩位图转4位(16色)灰度图(BMP)

首先要声明的是,这个4位(16)色图比较特殊,不是彩色的16色图,而已一个用4位16色,模拟的灰度图 什么是灰度图? 灰度图是指只含亮度信息不含彩色信息的图象,就像我们平时看到的亮度由暗到明的黑白...

针对24位真彩位图的处理示例。

  • 2006年02月23日 09:05
  • 191KB
  • 下载

真彩工具栏的实现

VC++6.0直接支持256色工具栏的编辑和使用,若想建立真彩(24位位图)工具栏,必须借助其它绘图工具绘制工具栏位图。 制作真彩工具栏的主要步骤:①用绘图工具(我用的是Fireworks)制作三张2...

24位真彩位图处理源码

  • 2009年03月02日 18:22
  • 191KB
  • 下载

为真彩工具栏添加下拉菜单

0397 单击右键弹出菜单 在应用程序中单击右键弹出菜单可以方便用户的操作,要实现右键弹出菜单需要调用CMenu类的TrackPopupMenu方法,该方法用于显示一个弹出式菜单。如图6.38所示。...
  • ljx1006
  • ljx1006
  • 2011年11月28日 20:47
  • 855
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:真彩位图工具栏
举报原因:
原因补充:

(最多只允许输入30个字)