⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 richeditole.cs

📁 该即时通讯系统系统能够实现像QQ一样的通讯功能
💻 CS
字号:
using System;
using System.Runtime.InteropServices;

namespace LanMsg.Windows.Forms
{
	[ComImport]
	[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
	[Guid("00020D00-0000-0000-c000-000000000046")]
	public interface IRichEditOle
	{
	    int GetClientSite(IntPtr lplpolesite);
		int GetObjectCount();
		int GetLinkCount();
		int GetObject(int iob, REOBJECT lpreobject, [MarshalAs(UnmanagedType.U4)]GetObjectOptions flags);
	    int InsertObject(REOBJECT lpreobject);
		int ConvertObject(int iob, CLSID rclsidNew, string lpstrUserTypeNew);
		int ActivateAs(CLSID rclsid, CLSID rclsidAs);
		int SetHostNames(string lpstrContainerApp, string lpstrContainerObj);
		int SetLinkAvailable(int iob, int fAvailable);
		int SetDvaspect(int iob, uint dvaspect);
		int HandsOffStorage(int iob);
		int SaveCompleted(int iob, IntPtr lpstg);
		int InPlaceDeactivate();
		int ContextSensitiveHelp(int fEnterMode);
		//int GetClipboardData(CHARRANGE FAR * lpchrg, uint reco, IntPtr lplpdataobj);
		//int ImportDataObject(IntPtr lpdataobj, CLIPFORMAT cf, HGLOBAL hMetaPict);
	}
	
	public enum GetObjectOptions
	{
		REO_GETOBJ_NO_INTERFACES	= 0x00000000,
		REO_GETOBJ_POLEOBJ			= 0x00000001,
		REO_GETOBJ_PSTG				= 0x00000002,
		REO_GETOBJ_POLESITE			= 0x00000004,
		REO_GETOBJ_ALL_INTERFACES	= 0x00000007,
	}

	[StructLayout(LayoutKind.Sequential)]
	public struct CLSID
	{
		public int		a;
		public short	b;
		public short	c;
		public byte		d;
		public byte		e;
		public byte		f;
		public byte		g;
		public byte		h;
		public byte		i;
		public byte		j;
		public byte		k;
	}
	
	[StructLayout(LayoutKind.Sequential)]
	public struct SIZEL
	{
		public int x;
		public int y;
	}

	[StructLayout(LayoutKind.Sequential)]
	public class REOBJECT
	{
		public REOBJECT()
		{
		}

		public int			cbStruct = Marshal.SizeOf(typeof(REOBJECT));		// Size of structure
		public int			cp = 0;												// Character position of object
		public CLSID		clsid = new CLSID();								// Class ID of object
		public IntPtr		poleobj = IntPtr.Zero;								// OLE object interface
		public IntPtr		pstg = IntPtr.Zero;									// Associated storage interface
		public IntPtr		polesite = IntPtr.Zero;								// Associated client site interface
		public SIZEL		sizel = new SIZEL();								// Size of object (may be 0,0)
		public uint			dvaspect = 0;										// Display aspect to use
		public uint			dwFlags = 0;										// Object status flags
		public uint			dwUser = 0;											// Dword for user's use
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -