在 mfc 中创建的工具栏上没有显示文本?
Posted
技术标签:
【中文标题】在 mfc 中创建的工具栏上没有显示文本?【英文标题】:text is not showing on toolbar created in mfc? 【发布时间】:2010-08-17 11:44:40 【问题描述】:int MFC_Tutorial_Window::OnCreate(LPCREATESTRUCT lpCreateStruct)
if (CFrameWnd::OnCreate(lpCreateStruct) == -1)
return -1;
if (!myBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP
| CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC))
MessageBox(L"Failed to create toolbar\n");
return -1; // fail to create
CImageList img;
CString str;
myBar.GetToolBarCtrl().SetButtonWidth(150,250);
myBar.GetToolBarCtrl().SetExtendedStyle(TBSTYLE_EX_DRAWDDARROWS);
bool b = img.Create(IDB_COLDBITMAP, 22, 0, RGB(255, 0, 255));
myBar.GetToolBarCtrl().SetHotImageList(&img);
//img.Detach();
myBar.ModifyStyle(0, TBSTYLE_FLAT | TBSTYLE_TRANSPARENT);
myBar.SetButtons(NULL, 5);
myBar.SetButtonInfo(0, IDB_BITMAP1, TBSTYLE_BUTTON |TBSTYLE_DROPDOWN |TBBS_AUTOSIZE , 0);
b = myBar.SetButtonText(0,L"ABC");
myBar.SetSizes(CSize(42,38),CSize(16,15));
myBar.EnableDocking(CBRS_ALIGN_ANY);
EnableDocking(CBRS_ALIGN_ANY);
DockControlBar(&myBar);
上面的代码显示没有文本的工具栏。如何获得 当我在运行时将工具栏从一个位置移动到另一个位置时显示的文本,但不是第一次:(
【问题讨论】:
【参考方案1】:我相信这只是做的事情:
myBar.SetWindowText( _T( "Window Title goes here" ) );
【讨论】:
当我将工具栏从一个位置移动到另一个位置时,文本会显示......但不是第一次 它将设置工具栏的标题而不是工具栏上的按钮。以上是关于在 mfc 中创建的工具栏上没有显示文本?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 TBSTYLE_FLAT 在 MFC CToolBar 上正确显示静态文本?
通过 phpmyadmin 访问在 mysql 中创建的数据库
mfc中的CMFCToolBar类怎么实现工具栏上的按钮多行显示??急!!!