我想设置背景。背景图片可以用户自己选择。我用了一个commondialog和一个按钮,按了按钮就显示对话框,但是怎么实现设置背景呀?而且,那个textbox不是透明的,改什么属性可以变成透明的?

解决方案 »

  1.   

    用label,可以作成透明的.BackStyle=0
      

  2.   

    Private Sub Command1_Click()
        CommonDialog1.Filter = "Jpg (*.JPG)|*.JPG|BMP(*.BMP)|*.BMP"
        CommonDialog1.ShowOpen
        If CommonDialog1.filename <> "" Then
            Image1.Picture = LoadPicture(CommonDialog1.filename)
        End If
    End Sub
      

  3.   

    就是说textbox不可能做成透明的啦?
    用richtextbox也不可以吗?
    但是我不可能用label呀,不然别的功能不能实现啦
      

  4.   

    可以实现什么?
    如果要把textbox改成label我好多东西都得改
      

  5.   

    用bitblt在textbox上画上背景
      

  6.   

    可以应该是可以,因为 textbox 有句柄,能得到 DC ,应该能画出来不过你还是尝试添加控件组: Microsoft Forms 2.0 Object Library 和平常的控件添加一样添加用它里面的 textbox 应该有使透明的属性
      

  7.   

    但是用了,这个以后,我用textbox移动,很不稳定,闪闪的
    而且我还没有找到那个透明的属性
      

  8.   

    用RichTextbox,
    SetWindowLong设置RichTextbox为WS_EX_LAYERED 
    然后SetLayeredWindowAttributes,指定LWA_COLORKEY。
    搞定。或者,一定要用Textbox的话,我前年写过一个小例子,参见
    http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=22549&lngWId=1但是这个例子只能用于参考,在不同的系统上表现不稳定。
      

  9.   

    用label吧
    Private Sub Form_Load()
    Text1.Visible = False
    End SubPrivate Sub Label1_Click()
    Text1.Move Label1.Left, Label1.Top, Label1.Width, Label1.Height
    Text1.Visible = True
    Text1.SetFocus
    End Sub