Rank: Administration
Groups: Administrators
Joined: 1/5/2016(UTC) Posts: 1,138
Thanks: 10 times Was thanked: 133 time(s) in 130 post(s)
|
Hello, WinForms Example Code:
private void pdfViewer1_MouseClick(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Right)
{
MenuItem[] items = {
new MenuItem("Cut", (s, args)=> Pdfium.FORM_OnChar(pdfViewer1.FillForms.Handle, pdfViewer1.CurrentPage.Handle, 24, KeyboardModifiers.ControlKey)),
new MenuItem("Copy", (s, args)=> Pdfium.FORM_OnChar(pdfViewer1.FillForms.Handle, pdfViewer1.CurrentPage.Handle, 3, KeyboardModifiers.ControlKey)),
new MenuItem("Paste", (s, args)=> Pdfium.FORM_OnChar(pdfViewer1.FillForms.Handle, pdfViewer1.CurrentPage.Handle, 22, KeyboardModifiers.ControlKey))
};
var menu = new ContextMenu(items);
menu.Popup += (s, args) =>
{
items[0].Enabled = items[1].Enabled = pdfViewer1.FillForms.SelectedText != "";
items[2].Enabled = pdfViewer1.FillForms.InterForm.Controls.GetFocused() != null;
};
menu.Show(pdfViewer1, e.Location);
}
}
WPF Example: Code:
private void pdfViewer1_MouseDown(object sender, MouseButtonEventArgs e)
{
if (e.RightButton == MouseButtonState.Pressed)
{
MenuItem[] items = {
new MenuItem() { Header = "Cut", Command = new ClipboardCmd(pdfViewer1, "X") },
new MenuItem() { Header = "Copy", Command = new ClipboardCmd(pdfViewer1, "C") },
new MenuItem() { Header = "Paste", Command = new ClipboardCmd(pdfViewer1, "V") },
};
var menu = new ContextMenu();
menu.ItemsSource = items;
menu.IsOpen = true;
}
}
Code:
class ClipboardCmd : ICommand
{
private PdfViewer _viewer;
private string _mode;
public event EventHandler CanExecuteChanged;
public bool CanExecute(object parameter)
{
if(_mode=="C" || _mode =="X")
return _viewer.FillForms.SelectedText != "";
if(_mode =="V")
return _viewer.FillForms.InterForm.Controls.GetFocused() != null;
return false;
}
public void Execute(object parameter)
{
switch (_mode)
{
case "X":
Pdfium.FORM_OnChar(_viewer.FillForms.Handle, _viewer.CurrentPage.Handle, 24, KeyboardModifiers.ControlKey);
break;
case "C":
Pdfium.FORM_OnChar(_viewer.FillForms.Handle, _viewer.CurrentPage.Handle, 3, KeyboardModifiers.ControlKey);
break;
case "V":
Pdfium.FORM_OnChar(_viewer.FillForms.Handle, _viewer.CurrentPage.Handle, 22, KeyboardModifiers.ControlKey);
break;
}
}
public ClipboardCmd(PdfViewer viewer, string mode)
{
_viewer = viewer;
_mode = mode;
}
}
Edited by user Sunday, March 21, 2021 11:10:59 PM(UTC)
| Reason: Not specified
|