本帖最后由 t小寶 于 2013-10-8 23:46 編輯
有網(wǎng)友一直在研究連續(xù)窗體各行根據(jù)顏色值顯示顏色的問題,特作此例,實(shí)現(xiàn)在連續(xù)窗體上,每一行輸入不同的顏色值即可顯示不同的顏色。
要實(shí)現(xiàn)該功能需要在表中加一OLE字段,在窗體上通過綁定到該字段的綁定對(duì)象框來顯示顏色。會(huì)往OLE字段中寫入一些數(shù)據(jù),不過數(shù)據(jù)不多,不到100字節(jié),相當(dāng)于一個(gè)字段大小為50的文本字段的大小。代碼也不多:
'━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
' 函數(shù)名稱: CreateOleDIB
' 功能描述: 創(chuàng)建Ole對(duì)象二進(jìn)制數(shù)據(jù),其中包含了一幅只有1個(gè)像素的純色圖片,可以設(shè)定顏色
' 將此二進(jìn)制數(shù)據(jù)賦值給Ole字段,可以在綁定到該字段的綁定對(duì)象框中顯示圖片
' 將綁定對(duì)象框的縮放模式設(shè)為拉伸,使圖片鋪滿,就可以在綁定對(duì)象框顯示你想要的任意顏色
' 輸入?yún)?shù): lColor ... 顏色值
' 返 回 值: 成功返回Ole對(duì)象二進(jìn)制數(shù)據(jù)
' 調(diào)用示例:Me.Ole字段1.Value=CreateOleDIB(255) ' 使當(dāng)前Ole字段控件顏色為紅色
' 作 者: t小寶
' 更新日期: 2013-10-07
'━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Public Function CreateOleDIB(lColor As Long) As Byte()
Dim sBuff(97) As Byte
sBuff(0) = &H15: sBuff(1) = &H1C: sBuff(2) = &H1A
sBuff(4) = &H3
sBuff(8) = &H5: sBuff(10) = &H1
sBuff(12) = &H14: sBuff(14) = &H19
sBuff(16) = &HFF: sBuff(17) = &HFF: sBuff(18) = &HFF: sBuff(19) = &HFF
sBuff(20) = &HCD: sBuff(21) = &HBC: sBuff(22) = &HC6: sBuff(23) = &HAC
sBuff(26) = &H1: sBuff(27) = &H5: sBuff(29) = &H0
sBuff(30) = &H3
sBuff(34) = &H4
sBuff(38) = &H44: sBuff(39) = &H49: sBuff(40) = &H42
sBuff(42) = &H1A
sBuff(46) = &H1A
sBuff(50) = &H2C
sBuff(54) = &H28
sBuff(58) = &H1
sBuff(62) = &H1
sBuff(66) = &H1
sBuff(68) = &H18
sBuff(74) = &H4
sBuff(96) = lColor And &HFF
sBuff(95) = (lColor And &HFF00&) \ &H100
sBuff(94) = (lColor And &HFF0000) \ &H10000
CreateOleDIB = sBuff
End Function
效果圖:
示例文件:
游客,如果您要查看本帖隱藏內(nèi)容請(qǐng) 回復(fù)
|