BCB图片按钮的实现

1.首先要添加TImage 控件
  对于他的属性 主要有2个需要设置:
  
  AutoSize: 设置为TRUE 让其自适应图片的大小
  Transparent:透明 这个看情况  一般不用设置


2.初始化图片
  TImage *img1;//系统生成的
  
  img1->Picture->LoadFromFile("1a.bmp");


3.鼠标按下事件
 
 void __fastcall TForm1::img1MouseDown(TObject *Sender, TMouseButton Button,
      TShiftState Shift, int X, int Y)
 {
       img1->Picture->LoadFromFile("1b.bmp");
 }
 //---------------------------------------------------------------------------


4.鼠标弹起事件
 void __fastcall TForm1::img1MouseUp(TObject *Sender, TMouseButton Button,
      TShiftState Shift, int X, int Y)
 {
      img1->Picture->LoadFromFile("1a.bmp");
 }


5.鼠标的进出事件
 
  首先要先获取控件的消息捕获


  定义:
  TWndMethod OldImageWndProc;
  void __fastcall NewImageWndProc(TMessage & Message);


  初始化:
  OldImageWndProc = img1->WindowProc;
  img1->WindowProc = NewImageWndProc;




  方法:
  void __fastcall TForm1::NewImageWndProc(TMessage & Message)
  {
  if(Message.Msg == CM_MOUSEENTER)//进入
  {
    img1->Picture->LoadFromFile("1c.bmp");
  }
  else if(Message.Msg == CM_MOUSELEAVE) //chuqu
  {
    img1->Picture->LoadFromFile("1a.bmp");
  }
  OldImageWndProc(Message) ;
  }

你可能感兴趣的:(BCB图片按钮的实现)