Toolbar问题如何解决??

WhyArrow 2005-06-09 09:27:06
我想做个ToolBar 用TBSTYLE_LIST让文字显示在图标右侧。
同时我只想让部分按钮显示文字,部分不显示,就像IE工具栏一样(但不用Rebar),
不知道怎么做?我使用了一些方法,但总不成功,在各网站上也没有找到这方面的例子,
请问各位高手,这种工具栏怎么做??解决就结贴,愿送所有分。这个问题很长时间没有解决
急.....急....,领导很生气。
...全文
90 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
WhyArrow 2005-06-09
  • 打赏
  • 举报
回复
TO:ruchimy(泥秋) 能不能给个具体的例子,你的代码也太大概了呀。
ruchimy 2005-06-09
  • 打赏
  • 举报
回复
建议你用Rebar实现.看看我的例子吧:
http://blog.csdn.net/ruchimy/archive/2005/04/26/364236.aspx
WhyArrow 2005-06-09
  • 打赏
  • 举报
回复
TO:vcmute(横秋) 按照上面的设置后,发现所有按钮的大小是一样的。
没有字的按钮应该这么大也太难看了呀。
WhyArrow 2005-06-09
  • 打赏
  • 举报
回复
TO:vcmute(横秋)能不能给个具体的类呀??
vcmute 2005-06-09
  • 打赏
  • 举报
回复
利用TBIF_TEXT
void SetButtonTextAtRight(int nID, LPCTSTR lpszText)
{
HANDLE hHeap = ::GetProcessHeap();

LPTSTR lpsz = m_mapStringsAtRight.Lookup(nID);
if (lpsz != NULL)
{
lpsz = (LPTSTR)::HeapReAlloc(hHeap, 0, lpsz, lstrlen(lpszText) + 1);
lstrcpy(lpsz, lpszText);
m_mapStringsAtRight.SetAt(nID, lpsz);
}
else
{
lpsz = (LPTSTR)::HeapAlloc(hHeap, 0, lstrlen(lpszText) + 1);
lstrcpy(lpsz, lpszText);
m_mapStringsAtRight.Add(nID, lpsz);
}

if (GetTextStyle() == textRight)
{
TBBUTTONINFO bi;
bi.cbSize = sizeof(TBBUTTONINFO);
bi.dwMask = TBIF_TEXT;
bi.pszText = lpsz;
SetButtonInfo(nID, &bi);
}
}
bohut 2005-06-09
  • 打赏
  • 举报
回复
http://www.vckbase.com/document/listdoc.asp?mclsid=3&sclsid=305

15,979

社区成员

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

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