frame1中有两个text框,text1,text2(因为需要,必须把text1和text2放在一个容器frame1内)
我想实现当frame1.Enabled = False 时text2是可以进行编辑的,请问大家怎么能实现呢?

解决方案 »

  1.   

    当需要编辑text2时可这样:
    freme1.enabled=true
    text1.enabled=false
      

  2.   

    这样不行,就是想要当frame1.Enabled = False 时text2是可以进行编辑的!!
      

  3.   

    Leftie(左手,为人民币服务) 已经说得很清楚了,不知道你为什么非要把不可能的东西当作可能来处理,请换个思路吧,不要钻牛角尖了
      

  4.   

    我写段代码,你试试
    Private Sub EnabTxt(Txt As TextBox, Flag As Boolean, X As Long, Y As Long)
        With Txt
            If Flag Then
                Set .Container = Me
                .Move Frame1.Left + X, Frame1.Top + Y
                .ZOrder 0
                .SetFocus
                .Tag = 1
            Else
                Set .Container = Frame1
                .Move X, Y
                .Tag = 0
            End If
        End With
    End Sub
    Private Sub Form_Load()
        Frame1.Enabled = False
        EnabTxt Text1, False, 300, 300
    End SubPrivate Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
    If X > Frame1.Left + 300 And X < Frame1.Left + 300 + Text1.Width And Y > Frame1.Top + 300 And Y < Frame1.Top + 300 + Text1.Height Then
        EnabTxt Text1, True, 300, 300
    Else
        If Text1.Tag = 1 Then EnabTxt Text1, False, 300, 300
    End If
    End Sub
    Private Sub Text1_LostFocus()
        EnabTxt Text1, False, 300, 300
    End Sub
      

  5.   

    只能提供思路,我只知道把Form的某个区域设置为透明,Frame没有做过,但楼主有时间可以试试。
    第一种方法:
    一、加个Frame2,把Frame2放在Frame1的背后。
    二、把那个text2放在Frame2上,对应Frame1中放text2的位置。
    三、用API函数,把Frame1对应text2的地方“挖掉”,即把text2对应的区域设置为透明。
    四、当Frame1.Enabled时,把Frame2放到Frame1的前面,但让Frame2除了Text2外,把其它区域设置为透明。第二种方法:是通过第一种方法想到的。
    一、做两个一模一样的Frame,Frame1、Frame2。
    二、当Frame1.Enabled时,Frame1.visible=False,Frame2.visible=True。不知道行不行。