求:用API方法制作工具条的过程,只剩40分了,不闲少的来帮帮忙
非常感谢您的到来,小弟想知道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




