本页内容
自定义菜单
CPDFView
查看器支持右击菜单功能,在CPDFView
区域内右击鼠标会弹出自定义菜单,您可以为用户在不同的情境下设置不同的自定义菜单,例如右击空白区域设置页面缩放比例,右击文字、图片或注释进行复制等。
以下是设置自定义菜单的步骤:
- 注册自定义菜单事件。
- 根据命令类型(
e.CommandType
)进行操作。当命令类型为Context
时,创建了一个上下文菜单,并添加菜单项(Copy、Cut、Paste、Delete)。 - 当命令类型是基本命令(Copy、Cut、Paste、Delete)时,直接调用
e.DoCommand()
方法执行相应的命令。
以下是设置自定义菜单的示例代码:
C#
// 注册自定义菜单事件
myCPDFViewer.AnnotCommandHandler += PdfViewer_AnnotCommandHandler;
private void myCPDFViewer_AnnotCommandHandler(object sender, AnnotCommandArgs e)
{
// 根据命令类型(`e.CommandType`)进行操作。当命令类型为 `Context` 时,创建了一个上下文菜单,并添加菜单项(Copy、Cut、Paste、Delete)。
switch (e.CommandType)
{
case CommandType.Context:
e.Handle = true;
e.PopupMenu = new ContextMenu();
e.PopupMenu.Items.Add(new MenuItem() { Header = "Copy", Command = ApplicationCommands.Copy, CommandTarget = (UIElement)sender });
e.PopupMenu.Items.Add(new MenuItem() { Header = "Cut", Command = ApplicationCommands.Cut, CommandTarget = (UIElement)sender });
e.PopupMenu.Items.Add(new MenuItem() { Header = "Paste", Command = ApplicationCommands.Paste, CommandTarget = (UIElement)sender });
e.PopupMenu.Items.Add(new MenuItem() { Header = "Delete", Command = ApplicationCommands.Delete, CommandTarget = (UIElement)sender });
break;
// 当命令类型是基本命令(Copy、Cut、Paste、Delete)时,直接调用 `e.DoCommand()` 方法执行相应的命令。
case CommandType.Copy:
case CommandType.Cut:
case CommandType.Paste:
case CommandType.Delete:
e.DoCommand();
break;
default:
break;
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28