问题一:
    在普通窗体中,可以使用apintpicture方法背景图片重绘,从而实现背景图片随窗体放大和缩小.可是,在MDI主窗体中,却无法使用此方法了.在MDI主窗体中,连apint事件都没有了.
    但是我现在需要在MDI主窗体中实现背景图片随窗体放大或缩小而放大或缩小,如何实现呢?  问题二:
    在POWERBUILDER中,窗体有idle事件,可以实现系统等待指定时间后触发的事件,在VB中是否有类似的事件呢?如果有,如何使用?

解决方案 »

  1.   

    不是图片框,是背景图片picture属性啊!!!
      

  2.   

    你可以将图片框加到mdi窗口中去,然后,在图片框中使用paintpicture方法
      

  3.   

    可以有timer控件来触发时间事件
      

  4.   

    好象有点道理,不知道是否行得通哦?有更简单点的办法没?MDI主窗体是有PICTURE属性的,这点我是可以绝对肯定的,因为昨天晚上我试了一晚上,4点多才睡觉!!哎!
      

  5.   

    关于时间控件的问题
       TIMER控件是指定一段时间内发生一次,而IDLE事件是在系统等待指定时间后触发,TIMER控件可以做到吗?如果可以,如何做到?
      

  6.   

    用timer控件触发事件来轮流切换背景图片可以实现动态效果
      

  7.   

    你可以用if判断语句,如果当前时间now>=你指定的时间,执行timer事件过程中的语句,否则,跳出过程
      

  8.   

    第一个问题直接用image就好啦,又不怎么占资源
      

  9.   

    Private Sub Form_Resize()
    Image1.Stretch = True
    Image1.Move 0, 0, Me.ScaleWidth, Me.ScaleHeight
    End Sub
      

  10.   

    mdi可能不支持image控件,只支持一些具align属性的控件
      

  11.   

    TO XIUYUAN()
        关于第2个问题,你还是没搞懂我的意思,因为POWERBUILDER中的IDLE事件是指系统闲置指定时间后触发该事件,所以你刚刚说的IF语句实现我认为也还是不成立的!简单得说吧,就像屏幕保护一样.
      

  12.   

    TO BlueBeer(1win)
      你说的方法仅仅限于在普通窗口中实现,我是想在MDI多文档主窗体中实现该功能呀!
      

  13.   

    那你可以试一试闲置循环
    private sub time
    do events while(now<=你指定的时间)
    loop
    '在这里写要作的事end sub
      

  14.   

    其实我觉得timer控件是可行的
    private sub timer1_timer()
      if now>=你所指定的时间 then
        '运行你要做的事
      end if
    end sub
      

  15.   

    这样说来的话,TIMER控件也很难达到这样的功能咯?难道VB没有可以直接实现闲置等待触发事件功能的控件或者事件吗?
      

  16.   

    timer事件可以,你可以每过一段时间判断一下,有没有超过你所指定的时间,超过了就运行那个屏保程序
      

  17.   

    但是我要系统能像POWERBUILDER里的IDLE事件一样的功能,能自动识别什么时候开始已经系统闲置了呀!
      

  18.   

    TO XIUYUAN()
        我有事要先走了,不能在线等求解了,如果你愿意的话,能否留下QQ号,交个朋友,这样讨论好累哦!
        现在派分,问题也算基本解决了!谢谢!