VB image控件的效果

来源:百度知道 编辑:UC知道 时间:2024/05/24 10:50:55
我做一个酒店管理系统,想把房间全部用图片显示在窗体上,用按钮背景不好看,用image控件背景到是好看了,可是点击的时候什么效果都没有,哪位大哥能帮帮我。不用特别美观的效果,至少点击的时候要知道我已经选择了该控件吧!
感谢zhenghanxi的回答,我试了一下你的方法,还不错,但用image控件数组就不行,能不能把你的代码改一下,最好有注释,谢谢你了!

哒哒哒在窗体上沿着image四周画个框怎么样?
可以用listview控件呀,跟你贴图的效果一样,如果自己写也可以,不过没必要,画个框多简单啊!下面的代码是使image变蓝,你参考下吧(不支持ico格式,而且gif,bmp效果也不好,jpg还可以。image控件没有hdc属性,不能画图,如果自己写,建议用picturebox控件):
'新建窗体,添加image1 ,(你image里的图像是一样的吗?)
Private Declare Function GetBitmapBits Lib "gdi32" (ByVal hBitmap As Long, ByVal dwCount As Long, lpBits As Any) As Long '引用API
Private Declare Function SetBitmapBits Lib "gdi32" (ByVal hBitmap As Long, ByVal dwCount As Long, lpBits As Any) As Long
Dim bit1() As Byte, bit2() As Byte 'bit1存储常态的图片,bit2存储点下时的图片
Private Sub Form_Load()
Me.ScaleMode = 3 '像素模式
ReDim bit1(1 To Image1(0).Height * Image1(0).Width * 3) '重定义数组
ReDim bit2(1 To Image1(0).Height * Image1(0).Width * 3)
GetBitmapBits Image1(0), UBound(bit1), bit1(1) '将图片位元存储在bit1
For i = 1 To UBound(bit1) Step 3 '将原图红、绿分量减小一半后存储在bit2
bit2(i) = bit1(i)
bit2(i + 1) = 0.5 * bit1(i + 1)
bit2(i + 2) = 0.5 * bit1(i + 2)