起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 149|回复: 8

【结贴】现在已经在BizImage实现效果,但有时偶尔在BizImage1移出时候不能转换成原图

[复制链接]
发表于 2008-6-24 16:26:36 | 显示全部楼层 |阅读模式
现在已经在BizImage实现效果,但有时偶尔在BizImage1移出时候不能转换成原图.请问什么原因.
procedure TCFQK.BizImage1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
var
flg:Integer;
begin
  //BizImage1鼠标移动事件
  Inherited;
    flg := bl;

    if ((X < BizImage1.Width-2) and (X>2)  and (Y <  BizImage1.Height-2) and (Y > 2)) then
       bl :=1
    else
        bl :=0;

    if(flg <> bl) then
    begin
       if bl = 1  then
       begin
          BizImage1.PictureURL:='Biz:\SQWSFWGLXT\JG.Library\QD.jpg';    //换为经过时候的图片
          BizImage2.PictureURL:='Biz:\SQWSFWGLXT\YT.Library\QX.jpg'; //原图
       end else
          BizImage1.PictureURL:='Biz:\SQWSFWGLXT\YT.Library\QD.jpg'; //原图
    end;
end;

procedure TCFQK.BizImage1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  BizImage1.PictureURL:='Biz:\SQWSFWGLXT\ZYJ1.Library\QD.jpg';   //按下 图片
end;

procedure TCFQK.BizImage1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var
   l,r,l2,r2:Integer;
   flg,flg2:Integer;
begin     //鼠标弹起
  Inherited;
    flg := bl;
    l := BizImage1.Left;
    r := BizImage1.Top;
    if(X > BizImage1.Width + l) or (X < l) or (Y < r) or ( Y > BizImage1.Height+r) then
       bl := 0;
    if(bl<>flg) then
         BizImage1.PictureURL:='Biz:\SQWSFWGLXT\YT.Library\QD.jpg';   //原图
end;

procedure TCFQK.BizImage2MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
var
flg:Integer;
begin

  Inherited;
    flg := bl;

    if ((X < BizImage2.Width-2) and (X>2)  and (Y <  BizImage2.Height-2) and (Y > 2)) then
       bl :=1
    else
        bl :=0;

    if(flg <> bl) then
    begin
       if bl = 1  then
       begin
          BizImage2.PictureURL:='Biz:\SQWSFWGLXT\JG.Library\QX.jpg';    //经过
          BizImage1.PictureURL:='Biz:\SQWSFWGLXT\YT.Library\QD.jpg'; //原图
       end else
          BizImage2.PictureURL:='Biz:\SQWSFWGLXT\YT.Library\QX.jpg'; //原图
    end;
end;

procedure TCFQK.BizImage2MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  BizImage2.PictureURL:='Biz:\SQWSFWGLXT\ZYJ1.Library\QX.jpg';   //按下
end;

procedure TCFQK.BizImage2MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var
   l,r,l2,r2:Integer;
   flg,flg2:Integer;
begin
  Inherited;
    flg := bl;
    l := BizImage2.Left;
    r := BizImage2.Top;
    if(X > BizImage2.Width + l) or (X < l) or (Y < r) or ( Y > BizImage2.Height+r) then
       bl := 0;
    if(bl<>flg) then
         BizImage2.PictureURL:='Biz:\SQWSFWGLXT\YT.Library\QX.jpg';   //原图
end;

procedure TCFQK.BizFormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
var
flg:Integer;
begin

  Inherited;
    flg := bl;

    if ((X < BizImage1.Width-2) and (X>2)  and (Y <  BizImage1.Height-2) and (Y > 2)) then
       bl :=1
    else
        bl :=0;

    if(flg <> bl) then
    begin
       if bl = 1  then
       begin
          BizImage1.PictureURL:='Biz:\SQWSFWGLXT\JG.Library\QD.jpg';    //经过
          BizImage2.PictureURL:='Biz:\SQWSFWGLXT\YT.Library\QX.jpg'; //原图
       end else
          BizImage1.PictureURL:='Biz:\SQWSFWGLXT\YT.Library\QD.jpg'; //原图
    end;

      Inherited;
    flg := bl;

    if ((X < BizImage2.Width-2) and (X>2)  and (Y <  BizImage2.Height-2) and (Y > 2)) then
       bl :=1
    else
        bl :=0;

    if(flg <> bl) then
    begin
       if bl = 1  then
       begin
          BizImage2.PictureURL:='Biz:\SQWSFWGLXT\JG.Library\QX.jpg';    //经过
          BizImage1.PictureURL:='Biz:\SQWSFWGLXT\YT.Library\QD.jpg'; //原图
       end else
          BizImage2.PictureURL:='Biz:\SQWSFWGLXT\YT.Library\QX.jpg'; //原图
    end;
end;
回复

使用道具 举报

 楼主| 发表于 2008-6-24 17:08:22 | 显示全部楼层
顶起!
回复 支持 反对

使用道具 举报

发表于 2008-6-24 17:34:23 | 显示全部楼层
有时偶尔在BizImage1移出时候不能转换成原图
请找一下规律,啥时候会出现这样的情况,从代码看不出来。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-6-25 08:30:21 | 显示全部楼层
找不到规律,
不知道是什么原因导致的哦
回复 支持 反对

使用道具 举报

发表于 2008-6-25 08:36:07 | 显示全部楼层
那就麻烦了,看来需要楼主费点时间找找规律了,
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-6-25 09:17:59 | 显示全部楼层
好象找到原因了..等等
回复 支持 反对

使用道具 举报

发表于 2008-6-25 09:35:26 | 显示全部楼层
procedure TMainForm.BizImage1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);

begin
  if Falg then
  begin
    BizImage1.PictureURL := 'Biz:\ALDDP\BizImage_MoveZYJ.Library\JPGTX1.jpg';
    Falg := False;
  end
  else
  begin
    BizImage1.PictureURL := 'Biz:\ALDDP\BizImage_MoveZYJ.Library\JPGTX2.jpg';
    Falg := True;
  end;
end;
楼主,这是我测试bizimage中move事件的代码,没有碰到问题
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-6-25 09:39:55 | 显示全部楼层
解决了,
是因为我把flg 和 bl设为全局变量.
回复 支持 反对

使用道具 举报

发表于 2008-6-25 09:49:31 | 显示全部楼层
OK,解决就好,结贴
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-18 12:29 , Processed in 0.039459 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表