(原)QQ表情弹出框的制作(凑热闹)

 

近来无事无意间看到有几个朋友在搞QQ表情弹出框的制作 飞无痕落无声 和 ☆会飞的鱼☆ 

我在原来项目中也做了一个发上来大家瞅瞅,哈哈...先来图.

采用自绘方法.

1.支持自定义表情,删除,翻页.

2.支持自宝义图片路径,并在首次使用时自动加载当前目录所有图片到表情窗体中

3.弹出窗口自动适应显示区域(当软件在最右或最下面时高度小于表眼窗体时 会自动计算并显示),

表情预览的是用的PictureBox.偷懒了.用这个可以省去自绘实现GIF动画的代码.

 

对象定义代码:

ExpandedBlockStart.gif 代码
public  ImagePopup _faceForm  =   null ;
public  ImagePopup FaceForm
{
   
get
      {
       
if  ( this ._faceForm  ==   null )
         {
           
this ._faceForm  =   new  ImagePopup
               {
                 ImagePath 
=   " Face\\ " ,
                 CustomImagePath 
=   " Face\\Custom\\ " ,
                 CanManage 
=   true ,
                 ShowDemo
= true ,
               };
           
this ._faceForm.Init( 24 24 8 8 12 8 );
           
this ._faceForm.Selected  +=   this ._faceForm_AddFace;
          }
         
return   this ._faceForm;
        }
}

string imgName = "";
void _faceForm_AddFace(object sender, SelectFaceArgs e)
{
  this.imgName = e.Img.FullName.Replace(Application.StartupPath + "\\", "");
   if (e.Img.Image.Width > this.pictureBox1.Width || e.Img.Image.Height > this.pictureBox1.Height)
     {
       this.pictureBox1.SizeMode = PictureBoxSizeMode.Zoom;
     }
     else
     {
       this.pictureBox1.SizeMode = PictureBoxSizeMode.CenterImage;
     }

   pictureBox1.Image = e.Img.Image;
}

 

 

使用方法:

 

ExpandedBlockStart.gif 代码
private   void  button1_Click( object  sender, EventArgs e)
{
   Point pt 
=   this .PointToScreen( new  Point(((Button)sender).Left, ((Button)sender).Height + 5 ));
   
this .FaceForm.Show(pt.X, pt.Y, ((Button)sender).Height);
            
}

 

哪里做的不好,请大家指证.

源码及Demo下载

 

转载于:https://www.cnblogs.com/guozk/archive/2010/01/07/1641288.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值