Позиционирование курсора на папке
Ниже приведён пример кода расширения Windows-клиента, которое регистрирует кнопку ленты инструментов, позволяющей осуществить позиционирование курсора на нужной папке.
using DocsVision.Platform.Extensibility;
using DocsVision.Platform.WinForms;
using System;
using System.Collections.Generic;
using System.Runtime.InteropServices;
namespace DocsVision.Test.NavPluging
{
[ComVisible(true)]
[Guid("6A0676EE-1DAF-4A59-B5EB-E0B5B4C175E1")]
[ClassInterface(ClassInterfaceType.None)]
public partial class Plugin : NavExtension
{
public Plugin()
{
InitializeComponent();
}
protected override NavExtensionTypes SupportedTypes (1)
{
get
{
return NavExtensionTypes.Command;
}
}
protected override string GetExtensionName(NavExtensionTypes extensionType) (2)
{
return "Быстрый выбор";
}
protected override IEnumerable<NavCommand> CreateCommands() (3)
{
NavCommand myCommand = new NavCommand();
myCommand.CommandType = NavCommandTypes.ToolBar;
myCommand.Name = "Выбрать";
myCommand.Description = "Выбирает домашнюю папку";
return new List<NavCommand> { myCommand };
}
protected override NavCommandStatus QueryCommandStatus(NavCommand command, NavCommandContext context)
{
return NavCommandStatus.Enabled;
}
protected override void InvokeCommand(NavCommand command, NavCommandContext context)
{
CardFrame.CardHost.ActivateFolder(new Guid("3C2A8C6F-B992-4C68-813E-0EE36A205746"), false); (4)
}
}
}
1 | Возвращает типы расширений, реализуемых данным классом. |
2 | Возвращаемое имя будет использовано Windows-клиентом при именовании группы кнопок в ленте инструментов. |
3 | Возвращает Windows-клиенту список доступных команд. |
4 | Выполнение позиционирования на папке с идентификатором 3C2A8C6F-B992-4C68-813E-0EE36A205746 . |
В примере, мы регистрируем только одну команду, которая вызывает метод ActivateFolder(Guid, Boolean)
, выполняющий позиционирование курсора на определённой папке Windows-клиента. Папка может быть обычной, либо виртуальной.
Правило создание расширение Windows-клиента приведено в разделе Расширение Windows-клиента.