PowerBuilder+Kodak Image Edit Control实现图片鼠标拖动、放大效果

PowerBuilder在显示图片方面的确是一个弱项,以前一直没有找到好的方法,如果自己用delphi写个ActiveX控件,在关闭的时候总会出现错误,实在是很郁闷,后来发现Kodak Image Edit Control就没有这个问题,而且可以支持BMP,DCX,GIF,JPG-JFIF,PCX,TIFF,WIFF,XIF等常见的图片格式,该控件在win98,win2000等环境中都已经安装好了,对于XP环境也可以简单的从Win2000移植过来。
1、鼠标放大、缩小效果
在OLE控件的other事件中加入下面的代码
 1Choose   Case    Message.Number   
 2  Case   522
  
 3      if   IntHigh(message.wordparm)   =   120   then   //
鼠标滚轮向上 
 4        if int(ole_1.object.zoom)<=20 then
 return
 5          ole_1.object.zoom= ole_1.object.zoom -10

 6      else    
 7          ole_1.object.zoom= ole_1.object.zoom+10

 8      end   if    
 9
      ole_1.object.display()
10End   Choose
2、鼠标拖动效果
如果不想选择框老是出现的话,需要加入
ole_1.object.SelectionRectangle = False
1//1. 定义Instance变量
2int
 mousex,mousey
3int moveon
以下代码属于OLE控件的事件
1 // Event MouseDown事件
2 moveon = 1
3 mousex = ocx_x
4 mousey = ocx_y

1 // MouseMove事件
2 if  moveon = 0   then  return
3 ole_1.object.ScrollPositionX  = ole_1.object.ScrollPositionX + (MouseX  - ocx_x)
4 ole_1.object.ScrollPositionY  = ole_1.object.ScrollPositionY + (MouseY  - ocx_y)
5 ole_1.object.refresh()
6 mousex = ocx_x
7 mousey = ocx_y

1 // mouseUp事件
2 moveon = 0

你可能感兴趣的:(PowerBuilder+Kodak Image Edit Control实现图片鼠标拖动、放大效果)