如何用vb做一个透明的textbox框?哪位高手指点一下啦!

只将文本框本身透明,不要连窗体都透过了。
就是说不要将洞打透。

新建工程,1个text1.. 思路就是让text1的BackColor设置为一个不常见的颜色.比如例子中的blue, 然后让blue变成透明..这样就只有text1透明了..

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
Private Declare Function SetLayeredWindowAttributes Lib "user32" (ByVal hwnd As Long, ByVal crKey As Long, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long
Private Const WS_EX_LAYERED = &H80000
Private Const GWL_EXSTYLE = (-20)
Private Const LWA_ALPHA = &H2
Private Const LWA_COLORKEY = &H1

Private Sub Form_Load()
Text1.BackColor = vbBlue
Dim rtn As Long
rtn = GetWindowLong(hwnd, GWL_EXSTYLE)
rtn = rtn Or WS_EX_LAYERED
SetWindowLong hwnd, GWL_EXSTYLE, rtn
SetLayeredWindowAttributes hwnd, vbBlue, 0, LWA_COLORKEY
End Sub
温馨提示:内容为网友见解,仅供参考
第1个回答  2007-10-08
VB妮可 我太佩服你了!一个字“帅”。

如何用vb做一个透明的textbox框?哪位高手指点一下啦!
新建工程,1个text1.. 思路就是让text1的BackColor设置为一个不常见的颜色.比如例子中的blue, 然后让blue变成透明..这样就只有text1透明了..Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long Private Declare Funct...

VB中如何使RICHTEXTBOX透明
要不换个思路吧,如果不是过于要求的话,可以用一些背景能透明的控件代替richtextbox,我就是用的label,用其属性caption显示文字,label在其属性栏中就能设置Backstyle为Transparent。当然,如果想用dlgCommonDialog把Caption中的文字保存在电脑中的文件下时,可以再用richtextbox。RichTextBox1.Text = Labe...

VB6.0怎么让文本框透明
设置文本框的 BackStyle 属性该属性可以取两个值,即0 和 1 。如果为 0 ,则是透明的。该属性可以在属性窗口中设置,也可以通过代码设置。其格式为:对象.BackStyle[=0 或 1]

VB中TEXTBOX可以设置成透明的 我记得是部件里添加一个什么来的,不记得...
Text1.BackColor = vbBlue Dim rtn As Long rtn = GetWindowLong(hwnd, GWL_EXSTYLE)rtn = rtn Or WS_EX_LAYERED SetWindowLong hwnd, GWL_EXSTYLE, rtn SetLayeredWindowAttributes hwnd, vbBlue, 0, LWA_COLORKEY End Sub 思路是让某一种颜色透明~将text背景色设置为这种颜色 ...

VB让文本框透明
使用的时候,先放上一个TextBox,设置为multi-line模式;然后声明一个模块级的cTextBoxBackground实例(我假定是那实例叫m_cLargeTextBoxBack)。最后像下面那样设置背景图片并把它贴到TextBox上:Set m_cLargeTextBoxBack = New cTextBoxBackground m_cLargeTextBoxBack.SetBackdrop LoadPicture(App....

VB怎么输入TextBox1的数字内容时,再将内容输入到一个一个分配到TextBox...
very easy!首先你的那五个文本框不能用单独的文本框,用控件数组,也就是把文本框2复制4个,粘贴的时候选择是。 那样你的文本框一共是六个了 text1 text2(0)~text2(4) 然后在text1的change事件中添加以下代码For i = 0 To 4 Step 1 Text2(i).Text = Mid(Text1.Text, i + 1, ...

VB如何实现textbox文本包含内容,就执行另外的程序
文本框TextBox是没有Caption属性的,所以,text1.caption=“我爱你,你是我的唯一。”是错误的.只有,Text属性,即 text1.Text=“我爱你,你是我的唯一。”

用VB做文本编辑器
步骤一:绘制界面。新建一个标准EXE工程,将其Caption属性改为“超级记事本”,点击Icon属性给它找个合适的Icon图标。单击菜单“工程”-“部件”,在弹出的“部件”对话框里找到Microsoft RichText Box 6.0和公共对话框Microsoft Common Dialog 6.0并选中它们,单击“确定”按钮。这时左边的工具栏上出现...

VB2005:创建一个包含一个窗体和一个文本框的项目
可以在lostfocus事件中写 txtMyTextBox.Text = txtMyTexBox.Text & "a"=== 当你输入一个字符后,激发了TextChanged事件。而在TextChanged的代码中又改变了txtMyTextBox.Text,所以又激发了TextChanged事件……这样永不停止,所以会溢出啊 === 我觉得这并不是书上让你实际操作的,而是要告诉你不要...

请教一个VB中的richtextbox控件问题
第1,如果直接设置成窗体的Height和Width的值,RichTextBox的大小会超出窗体的客户区。这里因为窗体的Height和Width属性的值表示的是整个窗体的大小,包括标题栏、菜单栏和边框等。而窗体中的控件只能显示在窗体的客户区中,就是窗体中除去标题栏等这些元素中间的那部分。所以楼上的代码中要减100,但这样...

相似回答