VB 中颜色互相转换的两个小函数(REG和 VB颜)
VB颜色和RGB色互相转换头疼了我好一段时间,如今找到解决办法了
特别贴出来与大家共享
Type RGB
Red As String
Green As String
Blue As String
End Type
Public Function ColorToRGB(ByVal dwColor As Long) As RGB
Dim clrHex As String
clrHex = Replace(Format(Hex$(dwColor), "@@@@@@"), " ", "0")
ColorToRGB.Red = Mid$(clrHex, 5, 2)
ColorToRGB.Green = Mid$(clrHex, 3, 2)
ColorToRGB.Blue = Mid$(clrHex, 1, 2) '
End Function
Public Function RgbToColor(ByVal rColor As String)
Dim tempColor As String, RedColor As String, GreenColor As String, BlueColor As String
tempColor = Replace(rColor, "0x", "")
RedColor = Mid(tempColor, 1, 2)
GreenColor = Mid(tempColor, 3, 2)
BlueColor = Mid(tempColor, 5, 2)
RgbToColor = RGB(Val("&H" & RedColor), Val("&H" & GreenColor), Val("&H" & BlueColor))
End Function
说明===============
ColorToRGB 作用是将VB中的颜色转换成RGB的颜色 比如 &H00FFFFFF& 会变成FFFFFF
RgbToColor 作用是将16进制的颜色 如FFFF00 转换成对应的十进制 再通过VB自带的RGB函数 转换成VB需要的颜色
相关文档:
去年曾写过一篇博文,名称叫《用VB无窗口透明Usercontrol编写透明浮动按钮》,该文有一个观点是错误的,即透明无窗口Usercontrol不支持设计时点选。其实,通过在UserControl_HitTest过程里加入HitResult = vbHitResultHit语句,就可以实现设计时的点选了,为此,修改代码如下:
'* ******************* ......
Public Sub DGToExcel(DataGrid1 As DataGrid, Optional ProgressBar1 As ProgressBar, Optional ByVal intFirst As Integer, Optional ByVal intLast As Integer, Optional strTitle As String)
'--将DataGrid导出至Excel,ProgressBar1为进度条,intFirst为从哪一列开始打印,intLast为打印到哪一列
On Error Resume ......
之前碰到一个问题,VB中向一个C++写的DLL中注册一个Callback,C++在调用这个Callback时有些问题,具体问题描述和下面这个帖子中的情况是一样的: http://topic.csdn.net/t/20051104/09/4370840.html
经过尝试以后发现,在VB中写的回调函数必须是用Function关键字,并且,必须要设置返回值,如下:
Public Function Callbac ......
JavaScript/VB Script脚本程序一般有两种执行方式,一种是嵌入在宿主程序里面执行,比如在IE浏览器里面执行;另外一种,在资源管理器里面双击执行(虽然还是通过另外一个程序解释执行,但是给人的感觉毕竟是直接运行)。
这两种方式,都可以使用Visual Studio来进行调试,先看大家用得比较频繁的网页脚本程序的调试:
1 ......