小技巧:一个工具条内放多排按钮

王朝vc·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

有的时候我们需要在一个工具条内放多排按钮,例如windows自带的画图软件,怎么实现呢?这里有一个小小的技巧,希望你能喜欢:)

首先假定我们的工具条资源号为IDR_PAINTTOOL;

我们从CToolBar类派生出一个CPaintToolbar类,添加一个受保护的成员变量:

protected:UIN m_nColumns; file://排m_nColumns行

public:

void SetColumns(UINT nColumns);//设置行数

UINT GetColumns() {return m_nColumns;}//获得行数

下面开始添加函数:

void CPaintToolbar::SetColumns(UINT nColumns)

{

m_nColumns=nColums;

int nCount=GetToolBarCtrl().GetButtonCount();

for(int i=0;i<nCount;i++)

{

UINT nStyle=GetButtonStyle(i);

bool bWrap=(((i+1)%nColumns)==0);

if(bWrap) nStyle|=TBBS_WRAPPED;

else nStyle&=~TBBS_WRAPPED;

SetButtonStyle(i,nStyle);

}

Invalidate();

GetParentFrame()->RecalcLayout();

}

好了,一切就这么简单。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有  導航