Toolbar在Win SDK下用法
来源:互联网 发布:2016青少年犯罪率数据 编辑:程序博客网 时间:2024/05/16 08:18
Toolbar真的是要折磨死人,MSDN都翻遍了都调试不对。关键还是靠一个日本人写的Demo才搞好的[1]。
下面给出一个最简Toolbar,代码加入到WM_CREATE下面:
// Create the toolbar. HWND hWndToolbar = CreateWindowEx(0, TOOLBARCLASSNAME, NULL, TBSTYLE_FLAT | WS_CHILD | WS_VISIBLE, 0, 0, 0, 0, hwnd, NULL, hInst, NULL); // Create the image list. HIMAGELIST g_hImageList = NULL; g_hImageList = ImageList_Create(16, 16, ILC_COLOR32 | ILC_MASK, 1, 1); ImageList_AddMasked(g_hImageList, (HBITMAP)LoadImage(hInst, (TCHAR *)1, IMAGE_BITMAP, 0, 0, LR_DEFAULTCOLOR), 0); // Set the image list. SendMessage(hWndToolbar, TB_SETIMAGELIST, (WPARAM)0, (LPARAM)g_hImageList); TBBUTTON tbButtons[] = { { 0, 0, TBSTATE_ENABLED, BTNS_BUTTON, }, { 0, 0, 0, BTNS_SEP, }, { 1, 1, TBSTATE_ENABLED, BTNS_BUTTON, }, { 2, 2, TBSTATE_ENABLED, BTNS_BUTTON, }, { 3, 3, TBSTATE_ENABLED, BTNS_BUTTON, }, { 0, 0, 0, BTNS_SEP, }, { 4, 4, TBSTATE_ENABLED, BTNS_BUTTON, }, { 0, 0, 0, BTNS_SEP, }, { 5, 5, TBSTATE_ENABLED, BTNS_BUTTON, }, { 0, 0, 0, BTNS_SEP, 0, -1, }, { 0, 0, 0, BTNS_SEP, }, { 6, 6, TBSTATE_ENABLED, BTNS_BUTTON, }, }; // Add buttons. SendMessage(hWndToolbar, TB_BUTTONSTRUCTSIZE, (WPARAM)sizeof(TBBUTTON), 0); SendMessage(hWndToolbar, TB_ADDBUTTONS, (WPARAM)sizeof(tbButtons) / sizeof(TBBUTTON), (LPARAM)&tbButtons); // Resize the toolbar, and then show it. SendMessage(hWndToolbar, TB_AUTOSIZE, 0, 0);
在.rc中加入:
1 BITMAP "toolbar.bmp"
LoadImage的第二个参数可以是外来的.bmp,也可以是内置资源。如果是内置资源的话参数为“(TCHAR *)资源号”。
所以如果是VS自动生成的.rc和Resource.h的话,填入资源名称(例如IDR_TOOLBAR1)就好了。
我自己改的.rc文件,写成了类似
IDR_TOOLBAR1 BITMAP "toolbar.bmp"
形式,又在Resource.h里加入#define IDR_TOOLBAR1 101,结果死活找不到图片。对比了VS自动生成的.rc,发现VS的.rc前面有#include “Resource.h”,而我的没有。加上这句就好了。低级错误啊。
参考
1.http://www.cnblogs.com/ifaithu/articles/2455564.html
2.https://msdn.microsoft.com/en-us/library/windows/desktop/bb760435(v=vs.85).aspx
0 0
- Toolbar在Win SDK下用法
- win 7下Android SDK 环境变量配置
- 在win下使用mkisofs
- WinDump用法---Win平台下的Tcpdump
- OpenCV4Android SDK在Win 8.1平台上的配置
- sdk toolbar建立
- 在Win下用cvs管理开发
- 在win下如何将postgre打包
- Cygwin在win下下载android源代码
- DbgView在Win 7下的使用
- solr在win下安装配置
- nutch在win下的安装
- 在win下用BAT设置IP
- 在Win下安装Vim插件总结
- Oracle在WIN下的卸载
- golang在win下交叉编译
- 在win下用putty远程管理linux
- 在win下转换字符格式
- git常用汇总
- 【codevs 1069】关押罪犯
- Activity的四种启动方式
- 【???】【???】了不起的郁杨
- hadoop2.4.1集群安装
- Toolbar在Win SDK下用法
- UVA 11078 Open Credit System .
- Leetcode-105. Construct Binary Tree from Preorder and Inorder Traversal
- .vimrc
- 01-nodejs入门介绍
- Main函数参数argc,argv说明
- android Icon UI
- Mac安装Python MySQLdb
- React Native