您的位置:程序门 -> vc/mfc -> 界面



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


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


怎么改变toolbar里按钮的大小??[已结贴,结贴人:nobelb]
发表于:2007-05-19 17: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;
}
发表于:2007-05-19 18:12:261楼 得分:0
crect   recttoolbar;
        //得到按钮的大小
        m_wndtoolbar.getitemrect(0,   &recttoolbar);
        //设置按钮的大小
        m_wndtoolbar.setsizes(recttoolbar.size(),csize(24,23));
发表于:2007-05-19 19:26:002楼 得分:0
对不起,我是初学者,不是很懂..
crect   recttoolbar;这个是什么意思??
我定义的时候是这样的...
class   sample:public   cframewnd
{
public:
ctoolbar   t;//这里是定义一个toolbar吧?

m_wndtoolbar这个也是出错了undeclared   identifier
发表于:2007-05-19 20:00:323楼 得分:0
m_wndtoolbar改为   t就行了
发表于:2007-05-19 20:09:164楼 得分:0
debug   assertion   failed!

program:f:\bysj\bysjproject\assdddf\debug\asdddf.exe
file:bartool.cpp
line:306

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

不知道是什么错了呢?
发表于:2007-05-19 20:16:115楼 得分:0
t.setsizes(recttoolbar.size(),csize(24,23));
一删掉着一句就不会弹出终止了,但是大小也改不到
发表于:2007-05-19 20:43:526楼 得分:0
直接在资源中改吧:
将工具栏资源打开,分别导入大的位图到按纽上就行了.
发表于:2007-05-19 21:16:477楼 得分:0
我导入试过,没有任何改变...
代码是这样写
nbtoolbar.loadbitmap(idb_bitmap1);
图的id也没错
idb_bitmap1
发表于:2007-05-19 23:57:568楼 得分:0
mark
发表于:2007-05-20 21:03:019楼 得分:0
mark什么意思
发表于:2007-05-24 19:26:3710楼 得分:10
因为ctoolbar::setsizes(size   sizebutton,   size   sizeimage)函数要求按钮的尺寸比位图尺寸稍大一些,具体地说,满足如下关系:
sizebutton.cx   > =   sizeimage.cx   +   7
sizebutton.cy   > =   sizeimage.cy   +   6
你修改后就可以得到你想要得结果
发表于:2007-05-24 19:29:4411楼 得分:0
t.setsizes(csize(31,29),csize(24,23))或t.setsizes(csize(24,23),csize(17,17))
应该都可以的


快速检索

最新资讯
热门点击