CMFCRibbonMiniToolBar类的用法
来源:互联网 发布:淘宝联盟结算金额不对 编辑:程序博客网 时间:2024/05/21 22:32
CMFCRibbonMiniToolBar
通常于用户在文档中选择对象后显示浮动工具栏。 例如,用户在文字处理程序中选择文本块后,应用程序将显示包含文本格式设置命令的浮动工具栏。
鼠标指针位于浮动工具栏边界之外时,浮动工具栏将变透明。
成员函数
由框架用于创建此类类型的动态实例。
由框架用于获取一个指向CRuntimeClass程序与此类类型的对象。
(重写 CMFCPopupMenu::IsRibbonMiniToolBar。)
设置要在工具栏上显示的命令的列表。
在指定的屏幕坐标上显示浮动工具栏。
显示浮动工具栏以及上下文菜单。
void CMSOffice2007DemoView::OnRButtonUp(UINT nFlags, CPoint point)
{
long nStartChar, nEndChar;
GetRichEditCtrl().GetSel(nStartChar, nEndChar);
if (nEndChar - nStartChar <= 1)
{
SendMessage(WM_LBUTTONDOWN, nFlags, MAKELPARAM(point.x, point.y));
ReleaseCapture ();
}
CPoint ptScreen = point;
ClientToScreen(&ptScreen);
if (!ShowContextMenu(ptScreen))
{
Default();
}
}
void CMSOffice2007DemoView::OnLButtonUp(UINT nFlags, CPoint point)
{
CRichEditView::OnLButtonUp(nFlags, point);
if (m_ptMouseDown == CPoint (-1, -1))
{
return;
}
m_ptMouseDown = CPoint (-1, -1);
if (GetSelectedItem() != NULL || CMFCPopupMenu::GetActiveMenu() != NULL || GetRichEditCtrl().GetSelText().IsEmpty())
{
return;
}
if (!theApp.m_bShowFloaty)
{
return;
}
CMFCRibbonMiniToolBar* pFloaty = new CMFCRibbonMiniToolBar;
InitFloaty(pFloaty);
ClientToScreen(&point);
pFloaty->Show(point.x, point.y);
}
//显示上下文菜单(右键菜单)
BOOL CMSOffice2007DemoView::ShowContextMenu(CPoint point)
{
if (DYNAMIC_DOWNCAST(CFrameWndEx, GetParentFrame()) == NULL)
{
// Maybe, server mode, show the regular menu!
return FALSE;
}
CRichEditCntrItem* pItem = GetSelectedItem();
if (pItem == NULL || !pItem->IsInPlaceActive())
{
CMFCRibbonMiniToolBar* pFloaty = new CMFCRibbonMiniToolBar;
InitFloaty(pFloaty);
pFloaty->ShowWithContextMenu(point.x, point.y, IDR_CONTEXT_MENU, this);
return TRUE;
}
return FALSE;
}
void CMSOffice2007DemoView::InitFloaty(CMFCRibbonMiniToolBar* pFloaty)
{
ASSERT_VALID(pFloaty);
CList<UINT, UINT> lstCmds;
lstCmds.AddTail(ID_FONT_FONT);
lstCmds.AddTail(ID_FONT_FONTSIZE);
lstCmds.AddTail(ID_FONT_GROWFONT);
lstCmds.AddTail(ID_FONT_SHRINK);
lstCmds.AddTail(ID_WRITE_CHANGESTYLES);
lstCmds.AddTail(ID_EDIT_COPYFORMAT);
lstCmds.AddTail(ID_FONT_BOLD);
lstCmds.AddTail(ID_FONT_ITALIC);
lstCmds.AddTail(ID_PARA_CENTER);
lstCmds.AddTail(ID_FONT_TEXTHIGHLIGHT);
lstCmds.AddTail(ID_FONT_COLOR);
lstCmds.AddTail(ID_PARA_DECREASEINDENT);
lstCmds.AddTail(ID_PARA_INCREASEINDENT);
lstCmds.AddTail(ID_PARA_BULLETS);
pFloaty->SetCommands(((CMainFrame*) GetTopLevelFrame())->GetRibbonBar(), lstCmds);
}
- CMFCRibbonMiniToolBar类的用法
- struts2 Ognl用法(Ognl类的用法)
- HashSet类的用法
- Hashtable类的用法
- Vector类的用法
- 嵌套类的用法
- ManualResetEvent类的用法
- CFILEFIND类的用法
- timer类的用法
- ArrayList类的用法
- 类的继承用法
- Scanner 类的用法
- CMap类的用法
- CButtonST类的用法
- CString类的用法
- String 类的用法
- StringTokenizer类的用法
- Character类的用法
- 【POJ 2533】Longest Ordered Subsequence(dp求最长增序列的长度)
- 一个极简的Marching Cubes算法实现
- Think in AngularJS:对比jQuery和AngularJS的不同思维模式
- ATM小程序
- 2017 Multi-University Training Contest
- CMFCRibbonMiniToolBar类的用法
- 路由器wan口和外网ip不一样怎么办
- 禁用脚本仅仅是禁用了awake(),start(),update(),fixedupdate(),ongui()五个函数,其它的还是有效的
- vs2015学习opencv330_64位的工程配置
- NSImageView 动态修改 frame 大小后无法及时更新
- MOOC清华《程序设计基础》第9章:自动售卖程序 v 3.0
- 利用Python和PIL库读取(非转换)raw格式图像
- -save-dev和-save区别
- Java容器---遍历Collection,Set的三种方法