怎么改变toolbar里按钮的大小??

nobelb 2007-05-19 05:20:09
为什么我的TOOLBAR按钮改不了,一直都是16X15
我想把他改成24X23因为我想插入一个BMP图做按钮的图标

BOOL OnCreateClient(CREATESTRUCT *c,CCreateContext *p)
{
UINT tool[]={ID_DISPLAY_DOWN,ID_DISPLAY_UP,ID_DISPLAY_LEFT};
//工具条创建
t.Create(this,WS_VISIBLE|WS_CHILD|CBRS_TOP|CBRS_FLYBY);
//设置按钮
t.SetButtons(tool,3);
t.SetSizes(CSize(24,23),CSize(24,23));
return TRUE;
}
...全文
534 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
wlp2113 2007-05-24
  • 打赏
  • 举报
回复
t.SetSizes(CSize(31,29),CSize(24,23))或t.SetSizes(CSize(24,23),CSize(17,17))
应该都可以的
wlp2113 2007-05-24
  • 打赏
  • 举报
回复
因为CToolBar::SetSizes(SIZE sizeButton, SIZE sizeImage)函数要求按钮的尺寸比位图尺寸稍大一些,具体地说,满足如下关系:
sizeButton.cx >= sizeImage.cx + 7
sizeButton.cy >= sizeImage.cy + 6
你修改后就可以得到你想要得结果
nobelb 2007-05-20
  • 打赏
  • 举报
回复
mark什么意思
changy 2007-05-19
  • 打赏
  • 举报
回复
mark
nobelb 2007-05-19
  • 打赏
  • 举报
回复
我导入试过,没有任何改变...
代码是这样写
NBtoolbar.LoadBitmap(IDB_BITMAP1);
图的ID也没错
IDB_BITMAP1
PentiumMMX 2007-05-19
  • 打赏
  • 举报
回复
直接在资源中改吧:
将工具栏资源打开,分别导入大的位图到按纽上就行了.
nobelb 2007-05-19
  • 打赏
  • 举报
回复
t.SetSizes(rectToolBar.Size(),CSize(24,23));
一删掉着一句就不会弹出终止了,但是大小也改不到
nobelb 2007-05-19
  • 打赏
  • 举报
回复
Debug Assertion Failed!

Program:F:\BYSJ\BYSJproject\assdddf\Debug\asdddf.exe
File:bartool.cpp
line:306

弹出一个这样的窗口要我终止\重试\忽略

不知道是什么错了呢?
Y___Y 2007-05-19
  • 打赏
  • 举报
回复
m_wndToolBar改为 t就行了
nobelb 2007-05-19
  • 打赏
  • 举报
回复
对不起,我是初学者,不是很懂..
CRect rectToolBar;这个是什么意思??
我定义的时候是这样的...
class sample:public CFrameWnd
{
public:
CToolBar t;//这里是定义一个toolbar吧?

m_wndToolBar这个也是出错了undeclared identifier
Y___Y 2007-05-19
  • 打赏
  • 举报
回复
CRect rectToolBar;
//得到按钮的大小
m_wndToolBar.GetItemRect(0, &rectToolBar);
//设置按钮的大小
m_wndToolBar.SetSizes(rectToolBar.Size(),CSize(24,23));

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧