{S0}简介
VSL的附加组件:VSL(VISIO库)首次使用Visio 2.0中可用。事实上,许多的出盒Visio解决方案,如组织结构图,作为VSL的附加实施。您创建VSL的附加组件使用C或C。本Visio解决方案"选项的重点是纯粹的速度。记住,Visio的SDK的需要来安装使用。使用代码程序创建一个应用
使用Microsoft Visual 2005年编辑器创建一个新项目。导航到其他语言和选择的Visual C。这将显示许多选项,Visio中添加或添加上,并选择它。提供项目名称,像quot; VisioProject1.quot;弹出Microsoft Visio中新增的或附加向导。单击"下一步"按钮,选择"quot;创建一个Visio VSL的添加,使用MFC,"ATL没有C,单击"下一步",选择"quot;导入Visio类型库的,"并单击"下一步"完成向导。向导生成的示例代码。在运行时添加,消息框将显示的信息,"VisioProject1添加由Visio 2007 SDK Add-in/Add-on向导VisioProject1.quot MessageBox的代码注释掉,并添加下面的源代码来实现自定义菜单,工具栏和处理的MenuItem,ToolbarItem功能。生成项目。在Debug文件夹中生成的VisioProject1.vsl二进制文件。
要运行//Common
BSTR bstrAddOnName = SysAllocString(L"VisioProject1U");
BSTR bstrTitle = SysAllocString(L"&Sample");
BSTR bstrItem = SysAllocString(L"Item");
//Menu: Visio::IVUIObjectPtr uiObjPtr;
Visio::IVMenuSetsPtr menuSetsPtr;
Visio::IVMenuSetPtr menuSetPtr;
Visio::IVMenusPtr menusPtr;
Visio::IVMenuPtr menuPtr;
Visio::IVMenuItemsPtr menuItemsPtr;
Visio::IVMenuItemPtr menuItemPtr;
hr = m_app->get_BuiltInMenus(&uiObjPtr);
hr = uiObjPtr->get_MenuSets(&menuSetsPtr);
//long itemId = Visio::VisUIObjSets::visUIObjSetDrawing;
hr = menuSetsPtr->get_ItemAtID(2, &menuSetPtr);
hr = menuSetPtr->get_Menus(&menusPtr); //add a new menu
menuPtr = menusPtr->AddAt(7);
hr = menuPtr->put_Caption(bstrTitle);
hr = menuPtr->get_MenuItems(&menuItemsPtr);
//MenuItem1 menuItemPtr = menuItemsPtr->Add();
hr = menuItemPtr->put_Caption(bstrItem);
menuItemPtr->put_AddOnName(bstrAddOnName);
//Add-on name
menuItemPtr->put_ActionText(bstrItem);
menuItemPtr->put_MiniHelp(bstrItem);
menuItemPtr->put_AddOnArgs(bstrItem);
m_app->SetCustomMenus(uiObjPtr); //Add the Menu to the Application
//Toolbar
Visio::IVUIObjectPtr uiToolbarPtr;
Visio::IVToolbarSetPtr toolbarSetPtr;
Visio::IVToolbarPtr toolbarPtr;
Visio::IVToolbarItemsPtr toolbarItemsPtr;
Visio::IVToolbarItemPtr toolbarItemPtr;
// get build in toolbars
hr = m_app->get_BuiltInToolbars(0, &uiToolbarPtr);
hr = uiToolbarPtr->ToolbarSets->get_ItemAtID(2, &toolbarSetPtr); //add a new toolbar
toolbarPtr = toolbarSetPtr->Toolbars->Add();
toolbarPtr->put_Caption(bstrTitle);
//toolbarPtr->put_Position((short)Visio::VisUIBarPosition::visBarMenu);
toolbarPtr->put_Position(6);
hr = toolbarPtr->get_ToolbarItems(&toolbarItemsPtr);
//ToolbarItem1
toolbarItemPtr = toolbarItemsPtr->Add();
toolbarItemPtr->put_Caption(bstrItem);
toolbarItemPtr->put_AddOnName(bstrAddOnName);
//Add-on Name toolbarItemPtr->put_ActionText(bstrItem);
toolbarItemPtr->put_MiniHelp(bstrItem);
toolbarItemPtr->put_AddOnArgs(bstrItem);
toolbarItemPtr->put_CntrlType(2);
//(int)Visio.VisUICtrlTypes.visCtrlTypeBUTTON;
toolbarItemPtr->put_FaceID(270);
m_app->SetCustomToolbars(uiToolbarPtr); //Add the Toolbar to the Application
Command Handling
//Handling the User click commands from Visio - Command Handler
if (pV2L->szCmdLineArgs != NULL){
if (strcmp(pV2L->szCmdLineArgs, "Item") == 0){
MessageBoxA(0, pV2L->szCmdLineArgs, "Info", 0);
}
}
打开Visio应用程序。导航工具- GT;选项- GT,先进的文件路径。添加附加组件的路径的VisioProject1.vsl文件路径,然后单击确定。关闭并重新打开Visio应用程序。导航工具- GT;附加组件。选择在运行添加在弹出的窗口VisioProject1。单击"确定"添加上运行。正如我提到的图片,你可以看到在Visio应用程序自定义的工具栏和菜单。如果你点击菜单或工具栏项,那么它就会显示项目名称的消息框。