CToolBar文本置位问题 求教高手,如何将工具栏按钮上的文字置中呀?还有如何修改文字大小,是先设置CFont m_Font变量么? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我想问你的是你工具栏上的按钮是不是你自己创建的, 还是画上去的, 如果是画上去的, 你想怎么画显示出来的就是你画的.如果按钮是你自己创建的, 那么可以设置按钮的属性来是工具栏上的文字置中函数原型为:virtual BOOL Create( LPCTSTR lpszCaption, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID );其中dwStyle 设置为 WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON | BS_CENTER, BS_CENTER 就是让按钮上文本居中如myButton1.Create(_T("My button"), WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON | BS_CENTER, rect, pParentWnd, 10001);// 按钮的字体CFont m_font;// 创建字体m_font.CreateFont ( 14, // nHeight 0, // nWidth 0, // nEscapement 0, // nOrientation FW_NORMAL, // nWeight FALSE, // bItalic FALSE, // bUnderline 0, // cStrikeOut ANSI_CHARSET, // nCharSet OUT_DEFAULT_PRECIS, // nOutPrecision CLIP_DEFAULT_PRECIS, // nClipPrecision DEFAULT_QUALITY, // nQuality DEFAULT_PITCH | FF_SWISS, // nPitchAndFamily "Arial"); // lpszFacename, 常用字体 Arial, Times New Roman// 设置按钮字体myButton1.SetFont(&m_font);其中 myButton1, m_font 要设为成员变量或全局变量, 不然显示不了或者无法设置字体. 谢谢你的回答,非常感谢!但是我还是有一些疑问:首先,我是动态创建工具栏的,上面的按钮也不是画上去的,但是设置按钮和文本不是用以下函数的么:m_BottomToolBar.SetButtons (arr,12);m_BottomToolBar.SetButtonText (0,"状态");来设置的么!当然,if(!m_BottomToolBar.CreateEx(this,TBSTYLE_FLAT|TBSTYLE_LIST, WS_CHILD|WS_VISIBLE| CBRS_ALIGN_BOTTOM|CBRS_SIZE_DYNAMIC| CBRS_FLYBY )) { } 里可以设置文本的方式,但是我不知道怎么设置在中间。还有,CFont m_font;怎么添加到对象里去呢?楼上的,你的方法只是在工具栏里貌似不可行吧···大侠进啊 查查有没有下面这个函数CToolBar::SetButtonText CList的SetAt函数使用时报错,求解释 C++一周年,散分庆祝 如何动态设置滚动区域的大小? 如何截取鼠标向操作系统发送的数据 问,关于CClientDC dc(this);的菜鸟问题。 怎样得出_variant_t中所存储的二进制数据的长度 c和c++ 关于对话框显示位置? ShellExecute? 如何编程实现:2000下自动关闭显示器(有单独电源线) 第一次实习面试的经历。。。 EVC中用writefile()函数向串口写数据问题
如果按钮是你自己创建的, 那么可以设置按钮的属性来是工具栏上的文字置中
函数原型为:
virtual BOOL Create(
LPCTSTR lpszCaption,
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID
);其中dwStyle 设置为 WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON | BS_CENTER, BS_CENTER 就是让按钮上文本居中
如
myButton1.Create(_T("My button"), WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON | BS_CENTER,
rect, pParentWnd, 10001);// 按钮的字体
CFont m_font;
// 创建字体
m_font.CreateFont (
14, // nHeight
0, // nWidth
0, // nEscapement
0, // nOrientation
FW_NORMAL, // nWeight
FALSE, // bItalic
FALSE, // bUnderline
0, // cStrikeOut
ANSI_CHARSET, // nCharSet
OUT_DEFAULT_PRECIS, // nOutPrecision
CLIP_DEFAULT_PRECIS, // nClipPrecision
DEFAULT_QUALITY, // nQuality
DEFAULT_PITCH | FF_SWISS, // nPitchAndFamily
"Arial"); // lpszFacename, 常用字体 Arial, Times New Roman
// 设置按钮字体
myButton1.SetFont(&m_font);其中 myButton1, m_font 要设为成员变量或全局变量, 不然显示不了或者无法设置字体.
但是我还是有一些疑问:首先,我是动态创建工具栏的,上面的按钮也不是画上去的,
但是设置按钮和文本不是用以下函数的么:
m_BottomToolBar.SetButtons (arr,12);
m_BottomToolBar.SetButtonText (0,"状态");
来设置的么!
当然,if(!m_BottomToolBar.CreateEx(this,TBSTYLE_FLAT|TBSTYLE_LIST, WS_CHILD|WS_VISIBLE|
CBRS_ALIGN_BOTTOM|CBRS_SIZE_DYNAMIC| CBRS_FLYBY ))
{ }
里可以设置文本的方式,但是我不知道怎么设置在中间。
还有,CFont m_font;怎么添加到对象里去呢?
楼上的,你的方法只是在工具栏里貌似不可行吧···大侠进啊
CToolBar::SetButtonText