CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  界面

求:用API方法制作工具条的过程,只剩40分了,不闲少的来帮帮忙

楼主myazrael(凌晨)2005-06-02 13:28:49 在 VC/MFC / 界面 提问

非常感谢您的到来,小弟想知道API中,添加工具条的具体过程是什么,希望大侠能列举出来,如果您闲麻烦贴一个具体的连接也好,如果您知道MSDN中的一个例子把例子关键字留给我也行,如果您知道一本很新的WINDOWS   SDK编程方面的网上可下的电子书名留下来也行,再次感谢您的帮助,举手之劳-以分相谢! 问题点数:40、回复次数:11Top

1 楼cdeee(亦难)回复于 2005-06-02 14:03:04 得分 0

HWND   CreateToolbarEx(                     HWND   hwnd,  
          DWORD   ws,  
          UINT   wID,  
          int   nBitmaps,  
          HINSTANCE   hBMInst,  
          UINT_PTR   wBMID,  
          LPCTBBUTTON   lpButtons,  
          int   iNumButtons,  
          int   dxButton,  
          int   dyButton,  
          int   dxBitmap,  
          int   dyBitmap,  
          UINT   uStructSize  
  );  
  Top

2 楼sunshine13870840(雀弹)回复于 2005-06-02 20:57:25 得分 0

你参照Vc++6.0透析,或者深入理解VC++6。0  
  有原代码Top

3 楼sunshine13870840(雀弹)回复于 2005-06-02 20:58:39 得分 0

是机械工业出版社的  
  最好在www.chian-pub上找什么书都有关于vcTop

4 楼lonely001(独行客)回复于 2005-06-04 11:27:58 得分 40

//   先定义工具条结构数据  
  TBBUTTON tbToolBar[]   =   {  
  {0,0,TBSTATE_ENABLED,TBSTYLE_SEP,0L,0},  
  {0,IDM_NEW,TBSTATE_ENABLED,TBSTYLE_BUTTON,0L,0},  
  {1,IDM_OPEN,TBSTATE_ENABLED,TBSTYLE_BUTTON,0L,0},  
  {2,IDM_CLOSE,TBSTATE_ENABLED,TBSTYLE_BUTTON,0L,0},  
  {0,0,TBSTATE_ENABLED,TBSTYLE_SEP,0L,0},  
  {3,IDM_ADD,TBSTATE_ENABLED,TBSTYLE_BUTTON,0L,0},  
  {4,IDM_DEL,TBSTATE_ENABLED,TBSTYLE_BUTTON,0L,0},  
  {5,IDM_EXTRACT,TBSTATE_ENABLED,TBSTYLE_BUTTON,0L,0},  
  {6,IDM_VIEW,TBSTATE_ENABLED,TBSTYLE_BUTTON,0L,0},  
  {0,0,TBSTATE_ENABLED,TBSTYLE_SEP,0L,0},  
  {7,IDM_CONFIG,TBSTATE_ENABLED,TBSTYLE_BUTTON,0L,0},  
  {0,0,TBSTATE_ENABLED,TBSTYLE_SEP,0L,0},  
  {8,IDM_ABOUT,TBSTATE_ENABLED,TBSTYLE_BUTTON,0L,0},  
  {0,0,TBSTATE_ENABLED,TBSTYLE_SEP,0L,0}  
  };  
   
  //   然后调用函数  
  hWndToolbar   =   CreateToolbarEx(hWndParent,  
  dwStyle,  
  dwID,  
  nButtonImageNumInBitmap,  
  hInstance,  
  dwResIdOrBitmapHandle,  
  tbToolBar,  
  (tbToolBar)   /   sizeof(tbToolBar[0]),  
  nButtonWidth,  
  nButtonHeight,  
  nImageWidth,  
  nImageHeight,  
  sizeof(TBBUTTON));  
  Top

5 楼myazrael(凌晨)回复于 2005-06-04 12:13:29 得分 0

楼上的仁兄小弟这里先谢过,您的这个方法能直接把图给弄到按钮上吗?我也是这样用的方法为什么按钮依然空空如野呢?是否是我不会使用资源文件的问题?  
  我在资源文件中只画了一个9帧按钮图的位图   IDB_BITMAP1   我又在rs.h头文件中定义了:  
  /****       rs.h       ****/  
  #difine   IDB_BITMAP1   202     //资源文件中画的一个9帧位图  
  #difine   ID_TOOLBAR   1001  
  #difine   IDS_EXIT   1               //资源文件中定义的一个字符串  
   
   
  /*****       创建按钮函数   xxx.cpp     ******/  
  HWND   hWndToolbar;  
   
  TBBUTTON   tbb={2,IDS_EXIT,TBSTATE_ENABLED,TBSTYLE_BUTTON,0,0};    
   
        hWndToolbar   =   CreateToolbarEx(hwndParent,  
                                                                      WS_CHILD   |   WS_VISIBLE        
                                                                      |   CCS_ADJUSTABLE   |   TBSTYLE_TOOLTIPS,  
                                                                      ID_TOOLBAR,  
                                                                      9,  
                                                                      hInst,  
                                                                      IDB_BITMAP1,  
                                                                      &tbb,  
                                                                      1,  
                                                                      16,  
                                                                      16,  
                                                                      16,  
                                                                      16,  
                                                                      sizeof(TBBUTTON));  
  ShowWindow(hWndToolbar,   SW_SHOW);    
   
  这样确实出现了一个按钮的工具条,但为什么上面就是不出图片呢?我用了很多方法都是乱贴代码,所以请高手具体说一下步骤就好了,例如,先初始化什么,然后调用什么函数....  
   
        非常感谢楼上几位高手的帮忙,如果想续分应该怎么做?Top

6 楼lonely001(独行客)回复于 2005-06-04 12:34:13 得分 0

你的按钮位图资源是256色的?  
  好象超出256色也会创建失败:)Top

7 楼myazrael(凌晨)回复于 2005-06-04 12:47:47 得分 0

没有呀,位图是16色的我,为什么会不显示图片呢??Top

8 楼myazrael(凌晨)回复于 2005-06-04 14:41:21 得分 0

请问各位高手是否有一个创建带图片的工具栏的全程函数可以贴上来或发给我的E-MAIL:myazrael@163.com吗?Top

9 楼qrlvls( 空 气 )回复于 2005-06-04 14:52:22 得分 0

实际上比较简单的方法是参考MFC中CToolBar   的源代码。Top

10 楼ringphone(临风)回复于 2005-06-05 01:51:47 得分 0

试试下面的代码:  
  SendMessage(hWndToolbar,TB_SETBITMAPSIZE,0,MAKELONG(16,15));  
  SendMessage(hWndToolbar,TB_SETBUTTONSIZE,0,MAKELPARAM(16,15));  
  TBADDBITMAP   tbab;  
  tbab.hInst   =   hInst;  
  tbab.nID   =   IDB_BITMAP1;  
  SendMessage(hWndToolbar,TB_ADDBITMAP,1,(LPARAM)&tbab));Top

11 楼myazrael(凌晨)回复于 2005-06-05 19:57:14 得分 0

楼上的朋友,先谢谢你,但是不管用啊!我真心希望能有好心人留下您的QQ,让我把程序发给您帮我调试一下!Top

相关问题

  • 制作工具栏?
  • 制作浮动工具栏
  • 如何制作工具条
  • 用什么工具制作 .chm 文件
  • 怎样制作浮动工具栏?
  • 浮动工具栏的制作,谢谢!
  • 怎么制作高彩工具条?
  • 可停靠工具栏的制作
  • 请推荐制作logo的工具
  • 请教录音工具的制作

关键词

  • vc++
  • vc
  • tbstate
  • tbstyle
  • idm
  • tbab
  • hwndtoolbar
  • enabled
  • 工具条
  • button

得分解答快速导航

  • 帖主:myazrael
  • lonely001

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo