当前位置: 亚洲城ca88 > 计算机网络 > 正文

计算机网络js css达成的仿office二〇〇二分界面_

时间:2019-11-23 21:28来源:计算机网络
效果图 screen.width-461)window.open('');"src=""border=0 近来牟足了力气写,快写完了。后天Boss说下周大器晚成先河上课。Faint立时又起来做ppt。早晨回乡又堵车。但是今后终于冷静下来了。明日

效果图screen.width-461) window.open('');" src="" border=0>

近来牟足了力气写,快写完了。后天Boss说下周大器晚成先河上课。Faint立时又起来做ppt。早晨回乡又堵车。但是今后终于冷静下来了。明日帖的是有关Add-in调节DTE菜单、按键的有个别。相当少,也比较容易。

仿Office二零零三的工具条

这边下载

文件 姓名 密码 登陆 B I U

 

做事之余做了那些小东西仿Office 二〇〇〇的工具条,首要尝试不用别的图片,全数的控件都是用Css和java-script做的菜系就不做了,偷懒中 感兴趣的朋友可以和自个儿关系,我们沟通交换.

本人尝试把内容帖上来。不精晓效果怎么着。

[email]PuterJam@etang.com[/email]

其三有的 使用自动化对象模型

 

  AddIn编制程序的好处正是大家能够动用自动化对象模型,在我们不要求知道.NET内部的贯彻机制的前提下操纵.NET IDE的控件,达成部分既存功效。在这里某个,大家将依照分化的目的单独介绍种种自动化对象模型的利用格局。

  要求小心的是,大家全数的DTE模型都以从EnvDTE里面获取的,那也正是干吗前边大家说EnvDTE是大家AddIn编制程序的底工。今后的后生可畏部分,若无极度指明,那么相关的指标都以在EnvDTE命名空间下的。而为了有扶助起见,大家将依照作品的档期的顺序在大家原先的AddIn工程上边创建相应的文书夹、文件和类。而从Connect.vb文件调用那几个类的代码就不再显明表明。

 

[Ctrl A 全选 注:如需引进外部Js需刷新工夫施行]

第一章 菜单

 

  DTE使用的菜系是专门的学业的Office连串菜单,那和我们运用Windows.Forms.MenuItem菜单是不肖似的。Office类别的美食指南实际上和工具条上边的按键是同一个类,但是有所分裂的是,拔尖菜单使用的是PopupCommandBar,而任何的菜系都以运用的常备的CommandBarButton。

 

先是节 创立菜单

 

  首先大家注明大家必要的享有菜单种类,包蕴多个意气风发品菜单项“MyAddIn Command”;下属的多少个子菜单“Tool Window”、“Source Code”和“Others”。那么上面的扬言是必须的。

    Private m_cpopMenu As Microsoft.Office.Core.CommandBarPopup

    Private WithEvents m_miToolWnd As Microsoft.Office.Core.CommandBarButton

    Private WithEvents m_miSourceCode As Microsoft.Office.Core.CommandBarButton

    Private WithEvents m_miOthers As Microsoft.Office.Core.CommandBarButton

  

【注意】

Ø         子菜单项需要加入WithEvents关键字,这样这些菜单项才可能得到消息相应,完成我们的选择操作,启动相关的代码。

Ø         操作DTE的菜单或工具条,必须要在工程共加入Office的引用。当然前提是开发的计算机上面已经安装了MS Office™。

  以往大家的阐明部分已经完工,大家须求实例化这个菜谱。在写入那几个代码的时候恐怕曾经意识,那一个菜谱的品种而不是类,而是接口。接口意味着大家必须要难地由此New方法实例化那几个指标。所幸的是,DTE已经为大家留下好了接口,让大家得以方便的实例化本人的美食做法。

  在DTE下边增加主菜单类别,通过DTE.CommandBars.ActiveMenuBar.Controls.Add那几个点子就可以省略地达成了。Add方法主要利用第叁个参数Type,这些参数鲜明了这么些要抬高的等级次序体系。这里大家只可以选拔msoControlPopup那系列型。随后大家通过安装Caption属性设置展现在DTE超级菜单上边的名字。Add的回到值赋给拔尖菜单的变量,那样大家就透过这种措施实例化了概念菜单。

        'Init main menu in DTE

        m_cpopMenu = m_DTE.CommandBars.ActiveMenuBar.Controls.Add(Microsoft.Office.Core.MsoControlType.msoControlPopup)

        m_cpopMenu.Caption = "MyAddIn Command"

  上边包车型大巴代码就是实例化一级菜单,这里m_DTE是从Connect.vb里面传递进入的EnvDTE实例。

实例化子菜单种类首要透过一级菜单的Microsoft.Office.Core.CommandBarControls.Add方法来落到实处。与实例化拔尖菜单稍有两样,子菜单的实例化参数也是设定了那一个菜单的品类,而菜单的名字等等新闻要在实例化之后设定。

        'Init [Tool WIndow] menu in main menu that had been created

        m_miToolWnd = m_cpopMenu.Controls.Add(Microsoft.Office.Core.MsoControlType.msoControlButton)

        m_miToolWnd.Caption = "Tool Window (&T)"   'Set the display caption

        m_miToolWnd.FaceId = 642         'Set the icon of the menu

        m_miToolWnd.BeginGroup = False   'Set the divition line up of the menu

  上面的代码设定了Action菜单种类,通过代码我们见到,首先大家由此顶尖菜单的Controls.Add命令生成它的下一遍菜单项,而项目通过参数钦命。随后大家独家对子菜单项的Caption、FaceId、BeginGroup进行设定。

Ø         Caption属性:设定菜单展现的名字。扶助“&”符号的神速键设定。

Ø         FaceId属性:设定菜单侧边彰显的Logo(假如不设置就从未Logo卡塔尔国。这种装置Logo的点子不支持客户本身的Logo,只可以够从Office系统提供的贴近二零零三个图标里面接收相应的ID。那也是最简便的装置Logo的章程。

Ø         BeginGroup属性:设置这几个菜单项的最上端是还是不是要步向贰个分水岭。在Windows应用程序中,大家选拔一个Text属性是减号的美食做法来顶替分水岭,不过Office菜单里面,大家是透过那样的性质才促成分水岭的。

  同样的情势,我们能够设定别的的多个菜单种类。然后大家将大家的代码填充到我们的AddIn程序中,运行就足以观望大家做成的菜系了。

  

【提示】

Ø         不要妄图在MSDN里面检索到关于DTE菜单和工具条的帮助。这些对象是Office所有的。所以如果你需要帮助,参考Office的SDK。

【未知】

Ø         通过AcitveMenuBar.Controls.Add的第四个参数Before可以设置这个顶级菜单项的添加位置,将一个存在的顶级菜单设定为Before参数,那么这个新的菜单应该添加在Before菜单的前面。但是目前我没有设置成功。上面的代码只能将新的菜单添加在DTE所有菜单的最后。

Ø         CommandBarButton.ShortcutText可以设定ShortCut的文字,只是一个String类型的属性。也就是说它只能设定显示的内容,不能完成快捷键的设定,设定之后快捷键仍旧无效。目前并不清楚如何设置快捷键。

 

第1节 响应菜单事件

 

  菜单的指标正是为了响应顾客的音讯,运维相关的主次。由于大家原先早已将菜单体系设定为能够响应新闻的格局,所以大家响应DTE菜单事件的操作和Windows应用程序基本大器晚成致。

    Private Sub m_miToolWnd_Click(ByVal Ctrl As Microsoft.Office.Core.CommandBarButton, ByRef CancelDefault As Boolean) Handles m_miToolWnd.Click

        MsgBox("Tool window menu clicked.")

    End Sub

  这段代码就是应和ToolWindow菜单的三个Handle函数,为了轻易,我们只是举行了二个操作。可是它能够注明难题。相通的,大家可以为每叁个美食指南体系Handle三个函数,然后写入大家的代码,和日常性的Windows应用程序没有其余差异。

 

其三节 卸载菜单

 

  与Windows应用程序分化,大家的AddIn程序不是一个独立的主次,也便是说大家大概退出了AddIn程序,不过宿主程序依然运行。这时大家在宿主程序里面增多的所用控件和窗口都不会趁机我们AddIn程序的脱离而被裁撤。所以AddIn超重大的三个统筹标准就是急需思谋财富的回笼难点。今后的美食指南种类就显示那一点。

  只是上面的顺序,大家在关闭AddIn之后,那几个菜单如故存在于DTE境遇之中。而只要大家重新展开AddIn,又会组建二个新的完全意气风发致的菜谱连串。那明显不是我们盼望看见的。所以大家要做的政工便是在AddIn关闭的时候卸载这一个菜单。还记得OnDisconnection函数么,我们正是要在这里个函数里面实行具备的卸载操作,当然以后独有卸载菜单的操作。

  卸载菜单相当的粗略。通过CommandBarControl.Delete方法就能够达成。

    Public Sub Dispose()

        m_miToolWnd.Delete()

        m_miSourceCode.Delete()

        m_miOthers.Delete()

        m_cpopMenu.Delete()

    End Sub

  上边包车型地铁函数,只要我们在OnDsiconnection函数里面调用了,大家的主次就会自动地在脱离的时候卸载这些菜单种类。

  

【提示】

Ø         并没有明确的说明,删除父菜单不会自动删除子菜单,但是个人认为使用“从小到大”的原则逐个删除可能更加安全。况且这样逐个删除在效率上并没有比只删除顶级菜单慢。

 

第二章 工具条

 

  后边已经介绍了,在Office控件里面,菜单和工具条未有掌握的尽头,大家以致能够说,Office的菜系和工具条是雷同的东西,只是展现方式不相通。对于工具条的拍卖,和管理菜单基本意气风发致。所以上边大家会将珍视播在他们不相平等的地点。

 

先是节 创立工具条和按键

 

  与菜单差别,工具条的宣示是二个工具条对象和多少个工具条按键对象。那很周边于Windows应用程序的CommandBar控件。

    Private m_cmdBar As Microsoft.Office.Core.CommandBar

    Private WithEvents m_cmdInsert As Microsoft.Office.Core.CommandBarButton

    Private WithEvents m_cmdDelete As Microsoft.Office.Core.CommandBarButton

    Private WithEvents m_cmdFormat As Microsoft.Office.Core.CommandBarButton

  实例化学工业具条和开关,和菜单基本生机勃勃致,都是利用接口注明的,所以大家只可以通过DTE给大家提供的主意拿到大家想要的新控件。只是在实例化学工业具条的时候,我们要透过DTE.CommandBar.Add方法增添。何况参数我们设定的正是那些工具条的称号。

        'Init command bar in DTE

        m_cmdBar = m_DTE.CommandBars.Add("My AddIn Command")

  上边包车型地铁代码是实例化贰个按键。和菜单分歧,按键的Caption属性便是其意气风发开关的ToolTip属性。当然假诺您的DTE意况设定为“彰显按钮Logo和文字”只怕“只显示开关文字”的话,那本性子将会显得成按键下面包车型大巴文字。

        'Init [Insert] menu in command bar that had been created

        m_cmdInsert = m_cmdBar.Controls.Add(Microsoft.Office.Core.MsoControlType.msoControlButton)

        m_cmdInsert.Caption = "Insert"   'Set the display caption

        m_cmdInsert.FaceId = 534         'Set the icon of the menu

        m_cmdInsert.BeginGroup = False   'Set the divition line up of the menu

  由于工具条在DTE情形下得以有多数,并且各个工具条都得以停靠到DTE四周的顺序地点,所以和菜单区别,大家还足以设定这几个工具条默许的停靠位置。别的工具条控件暗中同意是不会显示的,所以和菜单分歧,大家还非得手动设置CommandBar的Visible属性。

        'Visible the command bar

        m_cmdBar.Visible = True

        'Set the command bar position in DTE

        m_cmdBar.Position = Microsoft.Office.Core.MsoBarPosition.msoBarTop

  上边的代码显示工具条,并且将那么些工具条暗中同意停靠到DTE的上边。如若不开展这些操作,工具条将会浮在DTE情形之上。而其余的质量,工具条控件和菜单控件完全生机勃勃致。

其次节 响应开关事件

 

  和菜单同样,轻易的通过Handle函数就能够响应按键事件。

    Private Sub m_cmdInsert_Click(ByVal Ctrl As Microsoft.Office.Core.CommandBarButton, ByRef CancelDefault As Boolean) Handles m_cmdInsert.Click

        MsgBox("This is insert command called from command bar button.")

    End Sub

 

其三节 卸载工具条和按键

 

  和菜单同样,在AddIn甘休的时候,也相应卸载掉建设构造的工具条和中间的按键控件。

    Public Sub Dispose()

        m_cmdInsert.Delete()

        m_cmdDelete.Delete()

        m_cmdFormat.Delete()

        m_cmdBar.Delete()

    End Sub

 

编辑:计算机网络 本文来源:计算机网络js css达成的仿office二〇〇二分界面_

关键词: 亚洲城ca88