vb中如何实现图片的重叠显示,就是两张透明图片重叠显示在一起,最好是有例子?Private Declare Function AlphaBlend Lib "msimg32.dll" (ByVal hdc As Long, ByVal lInt As Long, ByVal lInt As Long, ByVal lInt As Long, ByVal lInt As Long, ByVal hdc As Long, ByVal lInt As Long, ByVal lInt As Long, ByVal lInt As Long, ByVal lInt As Long, ByVal BLENDFUNCT As Long) As Long
Private Sub Command1_Click()
AlphaBlend Picture1.hdc, 0, 0, 100, 100, Picture2.hdc, 0, 0, 100, 100, 128 * H10000
End Sub
AlphaBlend 就是实现两幅图片的alpha混合
透明度 参数 BLENDFUNCT 使用时 取值为 透明度(0-255)*H10000
vb.net 窗口重叠问题Form1的不透明度改为5%以内就可以点击到form2的控件
对应form2按钮的位置在form1画一个picturebox,背景色为黑色,窗体的透明色改为与背景色相同的颜色
关于VB.NET编制打印程序,打印出来页面内容总是重叠在一起的问题参考:
把执行SQL语句后得到的记录集逐条(含字段名)显示在LISTVIEW控件中
'----------------------------------------------------------------
Public Sub ListUpdate(ByRef rs As Recordset, ByRef lv As ListView)
Dim head As ColumnHeader, Item As ListItem
Dim i As Integer, j As Integer
Dim lvWidth As Integer
lvWidth = lv.Width
'初始化LISTVIEW的某些属性
lv.View = lvwReport
lv.GridLines = True
lv.FullRowSelect = True
lv.ListItems.Clear
lv.ColumnHeaders.Clear
For i = 0 To rs.Fields.Count - 1
Set head = lv.ColumnHeaders.Add
head.Text = rs.Fields(i).Name
head.Width = lvWidth / rs.Fields.Count
Next
For j = 1 To PERPAGE
If rs.EOF Then Exit For
Set Item = lv.ListItems.Add
Item.Text = ""rs.Fields(0).Value
For i = 1 To rs.Fields.Count - 1
Item.SubItems(i) = ""rs.Fields(i).Value
Next
rs.MoveNext
Next
End Sub
' 打印
Public Sub PrintRecordset(ByRef recRecordset As Recordset, ByVal strType As String)
Dim LeftMargin As Integer
Dim HeadTopPosition As Integer
Dim FieldNum As Integer
Dim PageCounter As Integer
Dim MyRecordset As ADODB.Recordset
Const FooterTopPosition = 24
Set MyRecordset = recRecordset
PageCounter = 1
' 设 置Printer 对 象 坐 标 的 度 量 单 位 为 厘 米
Printer.ScaleMode = vbCentimeters
LeftMargin = 1.5
HeadTopPosition = 2
' 定 义 打 印 页 左 上 角 的X 坐 标 和Y 坐 标,通 过 改 变ScaleLeft 和ScaleTop 的 值, 可 改 变 打 印 页 的 左 边 距 和 上 边 距
Printer.ScaleLeft = -LeftMargin
Printer.ScaleTop = -HeadTopPosition
Printer.Font.Name = "Times New Roman"
Printer.Font.Size = 12
Printer.Print "音像店顾客管理系统"
Printer.Print strType
Printer.Print ""
If MyRecordset.EOF And MyRecordset.BOF Then
MsgBox "No Record At Presend!", vbCritical And vbOKOnly, "Print Error"
Exit Sub
End If
MyRecordset.MoveFirst
Do Until Printer.CurrentYFooterTopPosition
'Print the fields of the recordset in sequence
For FieldNum = 0 To MyRecordset.Fields.Count - 1
Printer.Print MyRecordset.Fields(FieldNum).Name_
": "_
MyRecordset.Fields(FieldNum).Value
If Printer.CurrentYFooterTopPosition Then
Printer.CurrentX = 8
Printer.Print "Page: "PageCounter
' 创 建 多 页 文 档
Printer.NewPage
PageCounter = PageCounter1
End If
Next FieldNum
MyRecordset.MoveNext
If MyRecordset.EOF Then Exit Do
' 在 记 录 之 间 空 一 行
Printer.Print ""
Loop
'Print the Page number as a footer
Printer.CurrentX = 8
Printer.CurrentY = FooterTopPosition
Printer.Print "Page: "PageCounter
' 将 输 出 送 到 打 印 机
Printer.EndDoc
End Sub
.NET (VB.NET | C#) WPF 判断两个控件是否接触 , 比如两个Polygon是否有重叠?如图所示黑色矩形为窗体边线vb.net图像重叠;
L1是控件1vb.net图像重叠的左边离开窗体左边界的距离;
T1是控件1的上边离开窗体上边界的距离;
W1是控件1的宽度;
H1是控件1的高度;
L2是控件2的左边离开窗体左边界的距离;
T2是控件2的上边离开窗体上边界的距离;
W2是控件2的宽度;
H2是控件2的高度;
如果把边界相切也算作重叠 , 根据数学知识可以找出不重叠的数学关系;
一,水平情况不重叠;
1,控件1在控件2的左边
有:L1W1L2
2,控件2在控件1的左边
有:L2W2L1
二,垂直情况不重叠;
3,控件1在控件2的上边
有:T1H1T2
4,控件2在控件1的上边
有:T2H2T1
以上四种情况只要有一个成立 , 两个控件就不重叠;反之就重叠,代码的逻辑关系如下;
If (L1W1L2) Or (L2W2L1) Or (T1H1T2) Or (T2H2T1) Then
MsgBox("不重叠vb.net图像重叠!")
Else
MsgBox("重叠!")
End If
VB.NET 不同控件重叠时,如何控制某一个在上面 。VB.NET 不同控件重叠时 , 如何控制某一个在上面 。选择其中一个控件,右键“置于底层”、“置于顶层”即可,望采纳 。
【vb.net图像重叠 vb中图像框的stretch属性】关于vb.net图像重叠和vb中图像框的stretch属性的介绍到此就结束了 , 不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。
推荐阅读
- 安卓go语言好不好,安卓go语言编译器
- flutter可以屏幕适配,flutter surfaceview
- 什么是好的ppt,什么是好的PPT呈现
- go语言2次开发 go语言开发工具
- 什么手机可以拍摄农村,用什么手机拍
- 3210cpu升级什么cpu,i3 3120升级选什么cpu
- 象山小龙虾直播卖货,象山小龙虾直播卖货视频
- 用c语言计算分式函数 c语言大数的运算
- 山西企业如何做网络推广,武威企业网络推广技巧