社区
C#
帖子详情
各位,谁知道如何调用windows系统自带的copy,paste,cut????????
ZC747
2004-10-17 08:32:25
我想在自己的windows菜单上,添加像系统编辑菜单的那种菜单,请问各位谁用过,感激不尽!!
请大家帮帮忙!!!
...全文
304
22
打赏
收藏
各位,谁知道如何调用windows系统自带的copy,paste,cut????????
我想在自己的windows菜单上,添加像系统编辑菜单的那种菜单,请问各位谁用过,感激不尽!! 请大家帮帮忙!!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
22 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
BearRui
2004-10-18
打赏
举报
回复
Clipboard。
如果是控制richtextbox的话就可以直接调用richtextbox的方法:
richtextbox.Cut();
richtextbox.Copy();
richtextbox.Paste();
cjzlxy
2004-10-18
打赏
举报
回复
帮你顶...
yaopeng117
2004-10-18
打赏
举报
回复
学习。
hanbinghai
2004-10-18
打赏
举报
回复
复制:
object s = "看看";
Clipboard.SetDataObject(s.ToString());
粘贴:
IDataObject iData = Clipboard.GetDataObject();
// Determines whether the data is in a format you can use.
if(iData.GetDataPresent(DataFormats.Text))
{
// Yes it is, so display it in a text box.
this.richTextBox1.Text = (String)iData.GetData(DataFormats.Text);
}
帮助里搜索Clipboard看看使用方法
lbx1979
2004-10-18
打赏
举报
回复
其实menu也是对应着一个对象的,
鼠标右键的context menu还不是在一个对象里触发后也会不一样吗
你要做的是获取当前的对象,然后调用Clipboard的方法
ZC747
2004-10-18
打赏
举报
回复
我觉得粘贴,复制,剪切,这些系统常用的东西,或许能有个便捷的现成方法,就像点击鼠标右键弹出的那个菜单一样,如果能把右键菜单的功能放在Menu上,就搞定了:)
前面的朋友提到richtextbox可以用现成的方法;其他的可输入控件是不是都可以??
我是想将功能做在主menu上,所以不能只调用一个控件的方法,大家帮忙!:)
ZC747
2004-10-18
打赏
举报
回复
加分!!!!!
hanbinghai
2004-10-18
打赏
举报
回复
抛砖引玉,等待答案
hanbinghai
2004-10-18
打赏
举报
回复
先做个paste的例子
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
namespace WindowsApplication6
{
/// <summary>
/// Form1 的摘要说明。
/// </summary>
public class Form1 : System.Windows.Forms.Form
{
private System.Windows.Forms.RichTextBox richTextBox1;
private System.Windows.Forms.ContextMenu contextMenu1;
private System.Windows.Forms.MenuItem menuItem1;
/// <summary>
/// 必需的设计器变量。
/// </summary>
private System.ComponentModel.Container components = null;
//粘贴剪切板
[System.Runtime.InteropServices.DllImport("user32")]
private static extern IntPtr SetClipboardViewer(IntPtr hwnd);
[System.Runtime.InteropServices.DllImport("user32")]
private static extern IntPtr ChangeClipboardChain(IntPtr hwnd,IntPtr hWndNext);
[System.Runtime.InteropServices.DllImport("user32")]
private static extern int SendMessage(IntPtr hwnd,int wMsg,IntPtr wParam,IntPtr lParam);
const int WM_DRAWCLIPBOARD = 0x308;
const int WM_CHANGECBCHAIN = 0x30D;
IntPtr NextClipHwnd;
public Form1()
{
//
// Windows 窗体设计器支持所必需的
//
InitializeComponent();
//
// TODO: 在 InitializeComponent 调用后添加任何构造函数代码
//
}
/// <summary>
/// 清理所有正在使用的资源。
/// </summary>
protected override void Dispose( bool disposing )
{
if( disposing )
{
if (components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
}
#region Windows 窗体设计器生成的代码
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.richTextBox1 = new System.Windows.Forms.RichTextBox();
this.contextMenu1 = new System.Windows.Forms.ContextMenu();
this.menuItem1 = new System.Windows.Forms.MenuItem();
this.SuspendLayout();
//
// richTextBox1
//
this.richTextBox1.ContextMenu = this.contextMenu1;
this.richTextBox1.Location = new System.Drawing.Point(20, 12);
this.richTextBox1.Name = "richTextBox1";
this.richTextBox1.Size = new System.Drawing.Size(218, 168);
this.richTextBox1.TabIndex = 0;
this.richTextBox1.Text = "richTextBox1";
//
// contextMenu1
//
this.contextMenu1.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
this.menuItem1});
//
// menuItem1
//
this.menuItem1.Index = 0;
this.menuItem1.Text = "粘贴";
this.menuItem1.Click += new System.EventHandler(this.menuItem1_Click);
//
// Form1
//
this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);
this.ClientSize = new System.Drawing.Size(292, 273);
this.Controls.Add(this.richTextBox1);
this.Name = "Form1";
this.Text = "Form1";
this.ResumeLayout(false);
}
#endregion
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
Application.Run(new Form1());
}
private void menuItem1_Click(object sender, System.EventArgs e)
{
NextClipHwnd=SetClipboardViewer(this.Handle);
ChangeClipboardChain(this.Handle,NextClipHwnd);
//从观察链中删除本观察窗口
SendMessage(NextClipHwnd,WM_CHANGECBCHAIN,this.Handle,NextClipHwnd);
}
//剪切板
protected override void WndProc(ref System.Windows.Forms.Message m)
{
switch(m.Msg)
{
case WM_DRAWCLIPBOARD:
SendMessage(NextClipHwnd,m.Msg,m.WParam,m.LParam);
//将WM_DRAWCLIPBOARD消息传递到下一个观察链中的窗口
IDataObject iData = Clipboard.GetDataObject();
if(iData.GetDataPresent(DataFormats.Text)|iData.GetDataPresent(DataFormats.OemText))
{
this.richTextBox1.Rtf =(String)iData.GetData(DataFormats.Rtf);
}
break;
default:
base.WndProc(ref m);
break;
}
}
}
}
fellowcheng
2004-10-18
打赏
举报
回复
学习
cpio
2004-10-18
打赏
举报
回复
这个
你只用分配些内存用来存放复制后的东西
比如你窗体中有个图像,通过复制后,你把这个图片放到指定的变量中(可能是类什么的)
粘贴的时候,再把它整过来就可以了
ZC747
2004-10-18
打赏
举报
回复
加分,感谢各位,虽说问题还没解决:)
ZC747
2004-10-18
打赏
举报
回复
只能针对某个控件调用吗?ye
ZC747
2004-10-18
打赏
举报
回复
呵呵,身体第一啊,我现在都神情恍惚了,系统资源严重不足:~(
ZC747
2004-10-18
打赏
举报
回复
感谢
ZC747
2004-10-17
打赏
举报
回复
太感谢大家了,让我好好研究一下,呵呵,赶工程好几天没睡好了!
ZC747
2004-10-17
打赏
举报
回复
谢谢各位
张海霖
2004-10-17
打赏
举报
回复
IDataObject clipboardData=Clipboard.GetDataObject();
String text;
if(clipboardData.GetDataPresent(DataFormats.Text))
{
text=(String)clipboardData.GetData(DataFormats.Text);
}
winxieddd
2004-10-17
打赏
举报
回复
呵呵~~~~你是说想调用系统的copy,paste,cut吧?
太难了,偶不会,不过,帮你搜到:
http://www.donews.net/zwell/articles/30698.aspx
希望你不头大:)不过,要是用就这三个的话,你可以直接写代码呀。
张海霖
2004-10-17
打赏
举报
回复
String text="some text to copy";
Clipboard.SetDataObject(text);
加载更多回复(2)
java写的仿windos的记事本
Java写的记事本 基本上可以和
windows
自带
的相比 而且还可以设置背景 背景色 前景色 利用文件读写打开保存等 可以实现
copy
,
paste
,
cut
等记事本的所有功能 只有600多行
xheditor-1.1.14
如果您希望样式表存储在
系统
自带
的模板目录ui.css中,请将插件对象的样式名留空,则会自动按照插件名来
调用
相应的样式,例如:xhEdtBtn
Cut
、xhEdtBtn
Copy
,其中的
Cut
和
Copy
是插件名 具体
调用
方法请参考演示文件夹中...
Qt Creator 的安装和hello world 程序+其他程序的编写--不是一般的好
2.运行Qt Creator,首先弹出的是欢迎界面,这里可以打开其
自带
的各种演示 程序。 3.我们用File->New 菜单来新建工程。 4.这里我们选择Qt4 Gui Application。 5.下面输入工程名和要保存到的文件夹路径。我们这里的...
vba
调用
系统
复制剪切功能
注意:vb
调用
动态的dll,如果报错是没法用On Error GoTo line 的 Private ActiveTB As MSForms.TextBox Public Sub CreateShort
Cut
Menu() Dim Short
Cut
Menu As CommandBar Dim Short
Cut
Me
java
调用
系统
剪切板_Java如何使用
系统
剪贴板
import java.awt.*;import java.awt.event.*;import java.awt.datatransfer.*;public class Test50 extends Frame implements ActionListener{MenuBar menubar;...MenuItem
copy
,
cut
,
paste
;TextArea text1,te...
C#
110,538
社区成员
642,577
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章