如何在程序运行时通过拖动来实现动态改变图片框的大小的效果?

解决方案 »

  1.   

    这好像要一大堆API函数:具体的实现我没有,不过如果你可以从"博颜科技"发行的VB多媒体教学光盘中找到例子.
      

  2.   

    不用API也可以,这需要一些技巧。我在网吧里上网,没法写源程序。
    你可以定义当鼠标在窗体边沿,改变鼠标的形状然后在KEYDOWN事件中:BUT_DOWN=1'BUT_DOWN为全局变量MOUSEMOVE事件中:TEMPLEFT=PICTURE1.LEFT
    TEMPTOP=PICTURE1.TOP
    PICTURE1.LEFT=X
    PICTURE1.TOP=YIF BUT_DOWN=1 THEN'如果按键按下且没有起来,当鼠标移动时缩放图片框PICTURE1.WIRTH=TEMPLEFT-PICTURE1.LEFT+PICTURE1.WIRTH
    PICTURE1.HEIGHT=TEMPTOP-PICTURE1.TOP+PICTURE1.HEIGHTEND IF然后在KEYUP事件中:
    BUT_DOWN=0
     
    上面的代码不是在VB环境上编的可能有错,但我的思路是这样的,希望你能看懂,最主要的是边界的定义。
      

  3.   

    RE:
    我试过用上面的代码编太复杂了,可以用API函数,比较简单
    这个程序我试过了,并且编出了一部分,要用的API函数.
    用GetCursorPos得到当前鼠标的位置
    用GetWindowRect得到图片框的位置
    用SetWindowPos设置图片框的新位置,包括大小
    综合利用上面的函数,在加上一些技巧,就可以实现
    我的电脑没法上网,代码没法给出,请原谅
    一个很好的API网站:
    http://opac.nenu.edu.cn/teach/apihelp/