Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Const GWL_EXSTYLE = (-20)
Const WS_EX_TRANSPARENT = &H20&
Private PreValue As LongPrivate Sub Command1_Click()
Dim i As Long
i = GetWindowLong(Me.hwnd, GWL_EXSTYLE)
'变成透明的Form
PreValue = SetWindowLong(Me.hwnd, GWL_EXSTYLE, i Or WS_EX_TRANSPARENT)
Me.Show
DoEvents
Command1.Refresh '令Command1可见
Command2.Refresh '令Command2可见
End SubPrivate Sub Command2_Click() '还原变成不透明
Call SetWindowLong(Me.hwnd, GWL_EXSTYLE, PreValue)
Me.Hide
Me.Show
Command1.Refresh
Command2.Refresh
End Sub
Private Sub Form_Load()
Call Command1_Click
End SubPrivate Sub Text1_GotFocus()
Text1.IMEMode = 1
End Sub
只是举个例子,换成Text就可以了

解决方案 »

  1.   

    你错了,你没明白我的意思,但表示感谢
    我的意思 比如在一个图片上输入文字,要有提示符,可是选取,就是和 textbox 一样
    就是 textbox 输入 但背景 是底层的背景
      

  2.   

    用Microsoft Forms 2.0 Object Library里的TextBox就行了
      

  3.   

    你可以把TEXTBOX的BACKCOLOR设成和窗体一样的颜色,还可以把BORDERSTYLE设为NOEN
      

  4.   

    dzbswl(白雪儿) 哇 是你啊,天鹅 谢谢! 有机会找你聊天,给个地址?我要的是有背景图片的? 光改颜色,没用
      

  5.   

    看来如上所说也不行的如果你是想在图片上输入文字,可以在图片上放一个LABLE和一个TEXTBOX,让它们重叠,在最初时让TEXTBOX不可见,LABLE可见,LABLE的透明属性设为TRUE,其CAPTION为“单击此入输入文字”,在它的单击事件中,让TEXTBOX可见,同时获得焦点-----
      

  6.   

    头脑很灵活! 不错! 谢谢 可是我怎么能让一个 label 盖住(还要透明)一个picturebox 呢请再想想,给在下一个好意见,不胜感激。但是 但是 但是 你的 e_mail 呢?
      

  7.   

    矛盾,你不是要底层的背影吗?为什么要盖住?那你就这样吧,想盖住的时候就把LABEL的透明属性设为FALSE
      

  8.   

    对阿,文字盖住底层吗比如一大段文字,你的方法,一个大的label 如何让下面 有两个并排得picturebox label 是轻权控件,只能放到一个picturebox 上,你明白我的意思吗某种原因 我不能用 image其实画张图就明白了,我给你发过去 你的 email