Beispiel #1
0
        /// <summary>
        /// 添加GIF图片控件到richtextbox
        /// </summary>
        /// <param name="MD5">gifID</param>
        /// <param name="image"></param>
        /// <returns>返回gif控件</returns>
        public IMLibrary3.MyPicture addGifControl(string MD5, Image image)
        {
            MyPicture pic = new MyPicture();

            if (Pictures.ContainsKey(MD5))
            {
                MyPicture exPic = null;
                Pictures.TryGetValue(MD5, out exPic);
                pic.Image = exPic.Image;
            }
            else
            {
                pic.Image = image;
                Pictures.Add(MD5, pic);
            }
            panelGif.Controls.Add(pic);
            pic.MD5       = MD5;
            pic.SizeMode  = System.Windows.Forms.PictureBoxSizeMode.AutoSize;
            pic.BackColor = this.BackColor;
            pic.Invalidate();

            RichEditOle.InsertControl(pic);
            Invalidate();
            return(pic);
        }
Beispiel #2
0
        /// <summary>
        /// 获得图片控件
        /// </summary>
        /// <param name="MD5">图片MD5值</param>
        /// <returns></returns>
        public MyPicture GetPicture(string MD5)
        {
            MyPicture exPic = null;

            if (Pictures.ContainsKey(MD5))
            {
                Pictures.TryGetValue(MD5, out exPic);
            }
            return(exPic);
        }
Beispiel #3
0
        /// <summary>
        /// 获得richtextBox中现有的图片集合
        /// </summary>
        /// <returns></returns>
        public List <MyPicture> GetExistGifs()
        {
            List <MyPicture> tempGifs = new List <MyPicture>();
            REOBJECT         reObject = new REOBJECT();

            for (int i = 0; i < this.GetRichEditOleInterface().GetObjectCount(); i++)
            {
                this.GetRichEditOleInterface().GetObject(i, reObject, GETOBJECTOPTIONS.REO_GETOBJ_ALL_INTERFACES);
                object    t   = Marshal.GetObjectForIUnknown(reObject.poleobj);
                MyPicture pic = t as MyPicture;
                if (pic != null)
                {
                    pic.Pos    = reObject.cp;
                    pic.IsSend = true;//标识发送当前图片
                    tempGifs.Add(pic);
                }
            }
            return(tempGifs);
        }
Beispiel #4
0
        /// <summary>
        /// 获得richtextBox中现有的图片集合
        /// </summary>
        /// <returns></returns>
        public string GetImageInfo()
        {
            string imageInfo = "";

            //try
            {
                REOBJECT reObject = new REOBJECT();
                for (int i = 0; i < GetRichEditOleInterface().GetObjectCount(); i++)
                {
                    this.GetRichEditOleInterface().GetObject(i, reObject, GETOBJECTOPTIONS.REO_GETOBJ_ALL_INTERFACES);
                    object    t   = Marshal.GetObjectForIUnknown(reObject.poleobj);
                    MyPicture pic = t as MyPicture;
                    if (pic != null)
                    {
                        imageInfo += reObject.cp.ToString() + "," + pic.MD5 + "|";
                    }
                }
            }
            //catch { }
            return(imageInfo);
        }
Beispiel #5
0
 /// <summary>
 /// 添加GIF图片控件到richtextbox
 /// </summary>
 /// <param name="MD5">gifID</param>
 /// <param name="image"></param>
 /// <returns>返回gif控件</returns>
 public IMLibrary3.MyPicture addGifControl(string MD5, Image image)
 {
     MyPicture pic = new MyPicture();
     
     if (Pictures.ContainsKey(MD5))
     {
         MyPicture exPic = null;
         Pictures.TryGetValue(MD5, out exPic);
         pic.Image = exPic.Image;
     }
     else
     {
         pic.Image = image;
         Pictures.Add(MD5, pic);
     }
     panelGif.Controls.Add(pic);
     pic.MD5 = MD5; 
     pic.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize; 
     pic.BackColor = this.BackColor; 
     pic.Invalidate(); 
      
     RichEditOle.InsertControl(pic);
     Invalidate();
     return pic;
 }