win32 sdk 如何在资源中插入Toolbar,并在窗口中显示出来? 1.插入->资源->Toolbar2.定义工具条ID号3.关键的步骤是如何在窗口中显示出工具条,求代码参考? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 HWND CreateMainToolbar(HWND hWnd){ HIMAGELIST hImageList; HWND hWndToolbar = CreateToolbarEx(hWnd, WS_CHILD | WS_BORDER | WS_VISIBLE | TBSTYLE_TOOLTIPS,// | TBSTYLE_FLAT, IDC_MAINTOOLBAR, NUMIMAGES, hInst, IDC_MAINTOOLBAR, tbButton, sizeof(tbButton)/sizeof(TBBUTTON), BUTTONWIDTH, BUTTONHEIGHT, IMAGEWIDTH, IMAGEHEIGHT, sizeof(TBBUTTON)); if(!hWndToolbar) return NULL; SendMessage(hWndToolbar, TB_BUTTONSTRUCTSIZE, (WPARAM)sizeof(TBBUTTON), 0); SendMessage(hWndToolbar, TB_SETEXTENDEDSTYLE, 0, (LPARAM)(DWORD)(TBSTYLE_EX_DRAWDDARROWS)); hImageList = ImageList_Create(32, 32, ILC_COLOR32 | ILC_MASK, sizeof(tbButton)/sizeof(tbButton[0]), sizeof(tbButton)/sizeof(tbButton[0])); for(unsigned int i = 0 ; i <= sizeof(tbButton)/sizeof(tbButton[0]) ; i++) { HICON hIcon = LoadIcon(hLib, MAKEINTRESOURCE(IDI_ICON_DATABASE + i)); ImageList_AddIcon(hImageList, hIcon); DestroyIcon(hIcon); } SendMessage(hWndToolbar, TB_SETIMAGELIST, 0, (LPARAM)hImageList); SendMessage(hWndToolbar, TB_SETBITMAPSIZE, 0, (LPARAM)MAKELONG(32, 32)); SendMessage(hWndToolbar, TB_AUTOSIZE, 0, 0); return hWndToolbar;} 我也找不到toolbar这个资源,都是像1楼那样直接用代码来插入toolbar的,但是新建一个空白的工程反而可以找到toolbar这个资源很不解 toolbar是MFC自定义的资源类型其中包含图片和ID信息,不属于SDK预定义的资源类型。SDK用工具栏需要自己编码调用工具栏的消息接口。 toolbar不是通用控件吗,是WINDOWS封装的一个控件,相当于WINDOWS下的一个子窗口,实现它在case create:消息中用createwindowEx实现,具体实现就遇到麻烦了,我想在资源脚本中插入TOOLBAR,然后通过代码在窗口中实现 AcitveX容器问题 加载控件后出错怎么回事? 什么原因 CreateWindow函数如何创建check list box控件 请问VC中对递归调用的次数有上限吗 排放盒子的问题 放分求教atlfullcontrol调用mfc activex,困扰已久。 C/C++文件调试问题(简单) 请教各位大虾,我想在 IE 得工具栏上加一个类似 “前进”按钮那样的带一个小箭头的按钮,望各位大虾赐教,在线等待 我的VC总是在rebuild all之后才对修改起作用,怎搞? VMR9:IVMRWindowlessControl9接口无法获取 类
HWND CreateMainToolbar(HWND hWnd)
{
HIMAGELIST hImageList; HWND hWndToolbar = CreateToolbarEx(hWnd,
WS_CHILD | WS_BORDER | WS_VISIBLE | TBSTYLE_TOOLTIPS,// | TBSTYLE_FLAT,
IDC_MAINTOOLBAR,
NUMIMAGES,
hInst,
IDC_MAINTOOLBAR,
tbButton,
sizeof(tbButton)/sizeof(TBBUTTON),
BUTTONWIDTH,
BUTTONHEIGHT,
IMAGEWIDTH,
IMAGEHEIGHT,
sizeof(TBBUTTON));
if(!hWndToolbar)
return NULL; SendMessage(hWndToolbar, TB_BUTTONSTRUCTSIZE, (WPARAM)sizeof(TBBUTTON), 0);
SendMessage(hWndToolbar, TB_SETEXTENDEDSTYLE, 0, (LPARAM)(DWORD)(TBSTYLE_EX_DRAWDDARROWS)); hImageList = ImageList_Create(32, 32, ILC_COLOR32 | ILC_MASK, sizeof(tbButton)/sizeof(tbButton[0]), sizeof(tbButton)/sizeof(tbButton[0])); for(unsigned int i = 0 ; i <= sizeof(tbButton)/sizeof(tbButton[0]) ; i++)
{
HICON hIcon = LoadIcon(hLib, MAKEINTRESOURCE(IDI_ICON_DATABASE + i));
ImageList_AddIcon(hImageList, hIcon);
DestroyIcon(hIcon);
}
SendMessage(hWndToolbar, TB_SETIMAGELIST, 0, (LPARAM)hImageList); SendMessage(hWndToolbar, TB_SETBITMAPSIZE, 0, (LPARAM)MAKELONG(32, 32));
SendMessage(hWndToolbar, TB_AUTOSIZE, 0, 0); return hWndToolbar;
}