一个很简单的问题却搞不好! 我想在窗体载入时将Picture1的背景设为黄色, 但我输入&H00FFFF后, VB编辑器自动改为&HFFFF, 于是代码变成了下面的样子:Private Sub Form_Load() Picture1.BackColor = &HFFFFEnd Sub可是运行时报错, "无效属性值".怎么办呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Picture1.BackColor = RGB(255, 255, 200) 改成下面的样子:Private Sub Form_Load() Picture1.BackColor = &HFFFF&End Sub Private Sub Form_Load() Picture1.BackColor = &HFFFF&End Sub Picture1.BackColor = &HFFFF& Picture1.BackColor = vbYellow msdn:直接使用颜色设置值使用 RGB 函数来指定颜色和用内部常数来指定颜色,都不是直接的,因为 Visual Basic 只是将它们解释为与它所代表的颜色较接近的一种颜色。如果自己清楚知道 Visual Basic 是如何用数值来指定颜色的话,就可以给颜色参数和属性指定一个值,这样能直接指定颜色。多数情况下,用十六进制数输入这些数值更简单。正常的 RGB 颜色的有效范围,是从 0 到 16,777,215 (&HFFFFFF&)。每种颜色的设置值(属性或参数)都是一个四字节的整数。对于这个范围内的数,其高字节都是 0,而低三个字节,从最低字节到第三个字节,分别定义了红、绿、蓝三种颜色的值。红、绿、蓝三种成分都是用 0 到 255 (&HFF) 之间的数表示。因此,可以用十六进制数按照下述语法来指定颜色:&HBBGGRR&BB 指定蓝颜色的值,GG 指定绿颜色的值,RR 指定红颜色的值。每个数段都是两位十六进制数,即从 00 到 FF。中间值是 80。因此,下面的数值是这三种颜色的中间值,指定了灰颜色:&H808080&将最高位设置为 1,就改变了颜色值的含义:颜色值不再代表一种 RGB 颜色,而是一种从 Windows“控制面板”指定的环境范围颜色。这些数值对应的系统颜色范围是从 &H80000000 到 &H80000015。注意 尽管可以指定 1,600 万种以上的不同颜色,但并不是所有的系统都能精确地显示出来。关于 Windows 如何指定颜色的详细内容,请参阅本章后面的“使用 256 种颜色”。 或者是这样:Picture1.BackColor = RGB(&HFF, &HFF, 0) 好像没有一个人回答它出问题的原因,而只给了结果.是因为&HFFFF是有符号的16进制数,而&HFFFF&是无符号的16进制.也就是说:&HFFFF是-1,而&HFFFF&是65535.我还没有找到强制使16进制数为无符号的函数,好像也没有.呵呵.如果要这样改估计得用API来改位了吧.这样也可以:picture1.backcolor=65535================业精于勤荒于嬉,形成于思毁于随=================如果再给我一次爱的机会,我会好好的珍惜! 超级太难题,请大师帮帮小弟 HELP!!! T_T vb里做软件最多支持多少个串口。怎样判断串口 DTPicker的难题 DIM和private有什么区别啊? 不懂这个 Public Const WM_LBUTTONUP = &H202 如何将程序代码转换成普通文本存到数据库里(在线等待) Excel 嵌入VB MDI窗体 如何避免新建表格Excel图标出现在状态栏 用控件和数据对象方式有什么区别? 最后20分给你!经常出现7004-行集合不能作为标签 VBA的EXCEL里的问题 ***** 新的程序 给大家使用! ******
Picture1.BackColor = &HFFFF&
End Sub
Picture1.BackColor = &HFFFF&
End Sub
使用 RGB 函数来指定颜色和用内部常数来指定颜色,都不是直接的,因为 Visual Basic 只是将它们解释为与它所代表的颜色较接近的一种颜色。如果自己清楚知道 Visual Basic 是如何用数值来指定颜色的话,就可以给颜色参数和属性指定一个值,这样能直接指定颜色。多数情况下,用十六进制数输入这些数值更简单。正常的 RGB 颜色的有效范围,是从 0 到 16,777,215 (&HFFFFFF&)。每种颜色的设置值(属性或参数)都是一个四字节的整数。对于这个范围内的数,其高字节都是 0,而低三个字节,从最低字节到第三个字节,分别定义了红、绿、蓝三种颜色的值。红、绿、蓝三种成分都是用 0 到 255 (&HFF) 之间的数表示。因此,可以用十六进制数按照下述语法来指定颜色:&HBBGGRR&BB 指定蓝颜色的值,GG 指定绿颜色的值,RR 指定红颜色的值。每个数段都是两位十六进制数,即从 00 到 FF。中间值是 80。因此,下面的数值是这三种颜色的中间值,指定了灰颜色:&H808080&将最高位设置为 1,就改变了颜色值的含义:颜色值不再代表一种 RGB 颜色,而是一种从 Windows“控制面板”指定的环境范围颜色。这些数值对应的系统颜色范围是从 &H80000000 到 &H80000015。注意 尽管可以指定 1,600 万种以上的不同颜色,但并不是所有的系统都能精确地显示出来。关于 Windows 如何指定颜色的详细内容,请参阅本章后面的“使用 256 种颜色”。
是因为&HFFFF是有符号的16进制数,而&HFFFF&是无符号的16进制.也就是说:&HFFFF是-1,而&HFFFF&是65535.我还没有找到强制使16进制数为无符号的函数,好像也没有.呵呵.如果要这样改估计得用API来改位了吧.这样也可以:picture1.backcolor=65535================业精于勤荒于嬉,形成于思毁于随=================如果再给我一次爱的机会,我会好好的珍惜!