如何为右键菜单增加按钮?

如果您想在右键菜单栏中,增加按钮添加处理程序,可以参考如下示例:

1.先在PIInit中增加下面的一行代码,触发菜单栏弹出事件:

FRAppRegisterForContextMenuAddition("Page", OnContextMenuPopUpProc, NULL);

第一个参数如果是“Page”,任何情况下鼠标在页面视图上右键点击都会触发 OnContextMenuPopUpProc。当然可以选择为“Select”:在选中文本时右键才触发,如果是“Annot”:在选中注释时才触发。

第二个参数是用于处理右键出事件的,可以在这里增加自己的按钮。

2. 增加菜单栏按钮的示例如下:

void MenuProc(void* clientData)
{
	FRSysShowMessageBox2(L"TestMenu!", 0, NULL, NULL, false, NULL());
}
void OnContextMenuPopUpProc(void* pClientData, FR_Menu popUpMenu)
{
	FR_Document frDoc = FRAppGetActiveDocOfPDDoc();
 	//FR_Annot annot= FRDocGetFocusAnnot(frDoc);//获取当前选中的注释
	//if (annot != NULL)
	{
		FR_MenuItem menuItem = NULL;
		menuItem = FRMenuItemNew("TestMenu", L"TestMenuTitile", NULL, false, NULL);

		FRMenuItemSetExecuteProc(menuItem, MenuProc);
		int menuItenCoune = FRMenuGetMenuItemCount(popUpMenu);
		FRMenuAddMenuItem(popUpMenu, menuItem, 1);
	}
}

效果如下: