1.VB控件安装后是可以在VC中使用
2.什么叫固定区域,用一个PICTURE不就是固定的区域么
me.DrawMode 画笔类型
me.DrawWidth 宽度me.line (100,100)-(500,500),bf,gColor
3.SAVEPICTURE函数
2.什么叫固定区域,用一个PICTURE不就是固定的区域么
me.DrawMode 画笔类型
me.DrawWidth 宽度me.line (100,100)-(500,500),bf,gColor
3.SAVEPICTURE函数
解决方案 »
- 如何实现可缩放的类似Windows Media Player 的音量控制控件 (Slider Bar)
- VB访问远程ORACLE的时候,必须在ODBC中发布ORACLE先吗?
- VB中有个循环,运行速度特别慢……?
- 定时提醒的代码如何实现?
- 在线等待,请教如何将access数据升迁到sql server中
- 在线求教:请问VB中类似C语言中breake的语句,跳出单层FOR循环的语句是什么?
- 哪儿有水晶报表的学习资料
- 关于Clipboard.SetText 与 "CRTL + C" 的问题。
- 哪为高手帮我看看这个字符串连接的问题。。。。怎么可能出错呢。。。。
- 中国第一人!我分析出了最新版OICQ消息格式!!
- 软件兼容性问题。回答立即给分。
- preserve关键字在多维数组中的用法
3、SavePicture
谢谢以上两位朋友的解答。
我是VB新手,所以还请各位老大帮助一下。在此之前,我从未使用过VB,只用过VC、PB、ASP等其它东东,谢谢啦先。
可以给出一段示例代码吗?比如,画一根线,点击某个按钮后,将其存储为一个bmp文件(没有必要仅保存这个线,保存这个区域就可以了)。
设置picture1的autoredraw为trueprivate sub command1_click(...)
savepicture picture1.picture, "c:\a.bmp"
end sub
我想在picturebox1上面进行绘图,该如何做呢?给个例子好吗?
可以
2 在VB中,如何在屏幕(指应用程序的窗口,就是Form啦)上的固定区域内进行图形的绘制?无非就是些线啦、点啦什么的,要求线有宽度有颜色。我有例子给你[email protected]
或者到www.ourfly.com下载vb操作图形的例子3 接第二问题,可以把这个区域中图形(16色而已)存储成一幅位图(BMP格式)吗?有没有什么简便的办法?
可以
PSet 方法
将对象上的点设置为指定颜色。语法object.PSet [Step] (x, y), [color]PSet 方法的语法有如下对象限定符和部分:部分 描述
object 可选的。 对象表达式,其值为“应用于”列表中的对象。如果object 省略,具有焦点的窗体作为object。
Step 可选的。关键字,指定相对于由 CurrentX 和 CurrentY 属性提供的当前图形位置的坐标。
(x, y) 必需的。 Single (单精度浮点数),被设置点的水平( x 轴)和垂直( y 轴)坐标。
color 可选的。Long (长整型数),为该点指定的 RGB 颜色。如果它被省略,则使用当前的 ForeColor 属性值。可用 RGB 函数或 QBColor 函数指定颜色。
说明所画点的尺寸取决于 DrawWidth 属性值。当 DrawWidth 为 1,PSet 将一个像素的点设置为指定颜色。当 DrawWidth 大于 1,则点的中心位于指定坐标。画点的方法取决于 DrawMode 和 DrawStyle 属性值。执行 PSet 时,CurrentX 和 CurrentY 属性被设置为参数指定的点。想用 PSet 方法清除单一像素,规定该像素的坐标,并用 BackColor 属性设置作为 color 参数。这个方法不能用在 With匛nd With 语句块中。PSet 方法示例
这个示例用 PSet 方法在窗体上画五彩碎纸。想运行这个示例,将代码放入窗体的General 部分。按 F5 并单击窗体。Sub Form_Click ()
Dim CX, CY, Msg, XPos, YPos ' Declare variables.
ScaleMode = 3 ' 设置 ScaleMode 为像素。
DrawWidth = 5 ' 设置 DrawWidth.
ForeColor = QBColor(4) ' 设置前景为红色。
FontSize = 24 ' 设置点的大小。
CX = ScaleWidth / 2 ' 得到水平中点。
CY = ScaleHeight / 2 ' 得到垂直中点。
Cls ' 清窗体。
Msg = "Happy New Year!"
CurrentX = CX - TextWidth(Msg) / 2 ' 水平位置。
CurrentY = CY - TextHeight(Msg) ' 垂直位置。
Print Msg ' 打印消息。
Do
XPos = Rnd * ScaleWidth ' 得到水平位置。
YPos = Rnd * ScaleHeight ' 得到垂直位置。
PSet (XPos, YPos), QBColor(Rnd * 15) ' 画五彩碎纸。
DoEvents ' 进行
Loop ' 其它处理。
End Sub
Point 方法
按照长整数,返回在 Form 或 PictureBox 上所指定磅的红-绿-蓝 (RGB) 颜色。不支持命名参数。语法object.Point(x, y)Point 方法的语法包含下列部分:部分 描述
object 可选的。一个对象表达式,其值为“应用于”列表中的一个对象。如果省略 object,带有焦点的 Form 象缺省为 object.
x, y 必需的。均为单精度值,指示 Form 或 PictureBox 的 ScaleMode 属性中该点的水平(x-轴)和垂直(y-轴)坐标。必须用括号包括这些值。
说明如果由 x 和 y 坐标所引用的点位于 object 之外,Point 方法将返回 -1。Point 方法示例
本示例使用 Point 方法来确定一个窗体上的一个指定点的颜色。要检验此示例,可将本例代码粘贴到一个窗体的声明部分,然后按 F5 键并单击该窗体。Private Sub Form_Click ()
Dim LeftColor, MidColor, Msg, RightColor ' 声明变量。
AutoRedraw = -1 ' 打开AutoRedraw。
Height = 3 * 1440 ' 将高度设置为 3 英寸。
Width = 5 * 1440 ' 将宽度设置为 5 英寸。
BackColor = QBColor(1) ' 将背景设置为蓝色。
ForeColor = QBColor(4) ' 将前景设置为红色。
Line (0, 0)-(Width / 3, Height), , BF ' 红框。
ForeColor = QBColor(15) ' 将前景设置为白色。
Line (Width / 3, 0)-((Width / 3) * 2, Height), , BF
LeftColor = Point(0, 0) ' 查找左框颜色,,
MidColor = Point(Width / 2, Height / 2) ' 中框, 和
RightColor = Point(Width, Height) ' 右框。
Msg = "The color number for the red box on the left side of "
Msg = Msg & "the form is " & LeftColor & ". The "
Msg = Msg & "color of the white box in the center is "
Msg = Msg & MidColor & ". The color of the blue "
Msg = Msg & "box on the right is " & RightColor & "."
MsgBox Msg ' 显示信息。
End Sub
Line 方法
在对象上画直线和矩形。语法object.Line [Step] (x1, 1) [Step] (x2, y2), [color], [B][F]Line 方法的语法有以下对象限定符和部分:部分 描述
object 可选的。 对象表达式,其值为“应用于”列表中的对象。如果object 省略,具有焦点的窗体作为object。
Step 可选的。关键字,指定起点坐标,它们相对于由 CurrentX 和 CurrentY 属性提供的当前图形位置。
(x1, y1) 可选的。Single (单精度浮点数),直线或矩形的起点坐标。ScaleMode 属性决定了使用的度量单位。如果省略,线起始于由 CurrentX 和 CurrentY 指示的位置。
Step 可选的。关键字,指定相对于线的起点的终点坐标。
(x2, y2) 必需的。Single (单精度浮点数),直线或矩形的终点坐标。
color 可选的。Long (长整型数),画线时用的 RGB 颜色。如果它被省略,则使用 ForeColor 属性值。可用 RGB 函数或 QBColor 函数指定颜色。
B 可选的。如果包括,则利用对角坐标画出矩形。
F 可选的。如果使用了 B 选项,则 F 选项规定矩形以矩形边框的颜色填充。不能不用 B 而用 F。如果不用 F 光用 B,则矩形用当前的 FillColor 和 FillStyle 填充。FillStyle 的缺省值为 transparent。
说明画联结的线时,前一条线的终点就是后一条线的起点。线的宽度取决于 DrawWidth 属性值。在背景上画线和矩形的方法取决于 DrawMode 和 DrawStyle 属性值。执行 Line 方法时, CurrentX 和 CurrentY 属性被参数设置为终点。这个方法不能用于With...End With 语句块。Line 方法示例
这个示例用 Line 方法在窗体上画了几个同心矩形。要运行这个示例,将此代码放入窗体的 General 部分。按 F5 并单击窗体。Sub Form_Click ()
Dim CX, CY, F, F1, F2, I ' 声明变量。
ScaleMode = 3 ' 设置 ScaleMode 为像素。
CX = ScaleWidth / 2 ' 水平中点。
CY = ScaleHeight / 2 ' 垂直中点。
DrawWidth = 8 ' 设置 DrawWidth。
For I = 50 To 0 Step -2
F = I / 50 ' 执行中间步骤。
F1 = 1 - F: F2 = 1 + F ' 计算。
Forecolor = QBColor(I Mod 15) ' 设置前景颜色。
Line (CX * F1, CY * F1)-(CX * F2, CY * F2), , BF
Next I
DoEvents ' 做其它处理。
If CY > CX Then ' 设置 DrawWidth。
DrawWidth = ScaleWidth / 25
Else
DrawWidth = ScaleHeight / 25
End If
For I = 0 To 50 Step 2 ' Set up loop.
F = I / 50 ' 执行中间。
F1 = 1 - F: F2 = 1 + F ' 计算。
Line (CX * F1, CY)-(CX, CY * F1) ' 画左上角。
Line -(CX * F2, CY) ' 画右上角。
Line -(CX, CY * F2) ' 画右下角。
Line -(CX * F1, CY) ' 画左下角。
Forecolor = QBColor(I Mod 15) ' 每次改变颜色。
Next I
DoEvents ' 进行其它处理。
End Sub
Circle 方法
在对象上画圆、椭圆或弧。语法object.Circle [Step] (x, y), radius, [color, start, end, aspect]Circle 方法的语法有如下的对象限定符和部分:部分 描述
object 可选的。 对象表达式,其值为“应用于”列表中的对象。如果object 省略,具有焦点的窗体作为object。
Step 可选的。关键字 ,指定圆、椭圆或弧的中心,它们相对于当前 object 的 CurrentX 和 CurrentY 属性提供的坐标。
(x, y) 必需的。 Single (单精度浮点数),圆、椭圆或弧的中心坐标。object 的 ScaleMode 属性决定了使用的度量单位。
radius 必需的。Single (单精度浮点数),圆、椭圆或弧的半径。 object 的 ScaleMode 属性决定了使用的度量单位。
color 可选的。Long (长整型数),圆的轮廓的 RGB 颜色。如果它被省略,则使用 ForeColor 属性值。可用 RGB 函数或 QBColor 函数指定颜色。
start, end 可选的。 Single (单精度浮点数),当弧、或部分圆或椭圆画完以后,start 和 end 指定(以弧度为单位)弧的起点和终点位置。其范围从 -2 pi 到 2 pi 。起点的缺省值是0; 终点的缺省值是2 * pi。
aspect 可选的。 Single (单精度浮点数),圆的纵横尺寸比。缺省值为 1.0,它在如何屏幕上都产生一个标准圆(非椭圆)。
说明想要填充圆,使用圆或椭圆所属对象的 FillColor 和 FillStyle 属性。只有封闭的图形才能填充。封闭图形包括圆、椭圆、或扇形。画部分圆或椭圆时,如果 start 为负,Circle 画一半径到 start,并将角度处理为正的;如果 end 为负,Circle 画一半径到 end,并将角度处理为正的。Circle 方法总是逆时针(正)方向绘图。画圆、椭圆或弧时线段的粗细取决于 DrawWidth 属性值。在背景上画圆的方法取决于 DrawMode 和 DrawStyle 属性值。画角度为 0 的扇形时,要画出一条半径(向右画一水平线段),这时给 start 规定一很小的负值,不要给 0。.可以省略语法中间的某个参数,但不能省略分隔参数的逗号。您指定的最后一个参数后面的逗号是可以省略的。Circle 执行时,CurrentX 和 CurrentY 属性被参数设置为中心点。这个方法不能用在 With匛nd With 语句块中。Circle 方法示例
这个示例用Circle 方法在窗体中央画许多同心圆。要运行这个示例,将此代码放入窗体的 General 部分。按 F5 并单击窗体。Sub Form_Click ()
Dim CX, CY, Radius, Limit ' Declare variable.
ScaleMode = 3 ' 以像素为单位。
CX = ScaleWidth / 2 ' X 位置。
CY = ScaleHeight / 2 ' Y 位置。
If CX > CY Then Limit = CY Else Limit = CX
For Radius = 0 To Limit ' 半径。
Circle (CX, CY), Radius,RGB(Rnd * 255, Rnd * 255, Rnd * 255)
Next Radius
End Sub
BackColor、ForeColor 属性
BackColor-返回或设置对象的背景颜色。
ForeColor-返回或设置在对象里显示图片和文本的前景颜色。
语法object.BackColor [= color]object.ForeColor [= color]BackColor 和 ForeColor 属性语法包含下面部分:部分 描述
object 对象表达式,其值是“应用于”列表中的一个对象。
color 值或常数,确定对象前景或背景的颜色,“设置值”中有详细说明。
设置值Visual Basic 用 Microsoft Windows 运行环境的红-绿-蓝 (RGB) 颜色方案。color 的设置值如下:设置值 描述
标准 RGB 颜色 使用调色板或在代码中使用 RGB 或 QBColor 函数指定的颜色。
系统缺省颜色 由对象浏览器中的 Visual Basic (VB) 对象库所列的系统颜色常数指定的颜色。Windows 运行环境替换使用用户在控制面板设置值中的选择。
对所有的窗体和控件,在设计时的缺省设置值如下: BackColor-设置为由常数 vbWindowBackground 定义的系统缺省颜色。
ForeColor-设置为由常数 vbWindowText 定义的系统缺省颜色。
说明在 Label 和 Shape,控件中,如果 BackStyle 属性的设置值为 0(透明),则忽略 BackColor 属性。如果在 Form 对象或 Picturebox 控件中设置 BackColor 属性,则所有的文本和图片,包括指定的图片,都被擦除。设置 ForeColor 属性值不会影响已经绘出的图片或打印输出。在其它的所有控件中,屏幕的颜色会立即改变。标准 RGB 颜色的有效取值范围是 0 到 16,777,215 (&HFFFFFF)。该范围内数的高字节为 0;较低的 3 个字节,从最低字节到最高字节依次决定红、绿和蓝的量。红、绿和蓝的成分,分别由一个介于 0 与 255 (&HFF) 之间的数来表示。如果最高字节不为 0,Visual Basic 将使用系统颜色,这些颜色由用户的控制面板设置值和由对象浏览器中的 Visual Basic (VB) 对象库所列出的常数来确定。在 Windows 运行环境中显示文本,文本和背景的颜色必须都是原色。如果所选择的文本或背景颜色没有显示出来,则选择颜色中可能有抖动色-也就是说,最多由三种不同颜色的像素组成的颜色。如果对文本或背景选择了抖动色,则会用最接近的原色来代替。
FillColor 属性
返回或设置用于填充形状的颜色:FillColor 也可以用来填充由 Circle 和 Line 图形方法生成的圆和方框。语法object.FillColor [ = value]FillColor 属性语法包含下面部分:部分 描述
Object 对象表达式,其值是“应用于”列表中的一个对象。
Value 值或常数,确定填充颜色,“设置值”中有详细描述。
设置值value 的设置值如下:设置值 描述
标准 RGB 颜色 在程序中提供 RGB 或 QBColor 函数的颜色集
系统缺省颜色 “对象浏览器” 中的 Visual Basic (VB) 对象库的系统颜色常数常数指定的颜色。Microsoft Windows 运行环境替换用户在控制面板设置中的选择。
缺省情况下,FillColor 设置为 0(黑色)。说明除 Form 对象之外,如果 FillStyle 属性设置为缺省值,1(透明),则忽略 FillColor 设置值。
DrawWidth 属性
返回或设置图形方法输出的线宽。语法object.DrawWidth [= size]DrawWidth 属性语法具有下列组成部分:部分 描述
object 对象表达式,其值是“应用于”列表中的一个对象。
size 数值表达式,其范围从 1 到 32,767。该值以像素为单位表示线宽。缺省值为 1,即,一个像素宽。
说明增大该属性值会增加线的宽度。如果 DrawWidth 属性值大于 1,DrawStyle 属性值设置为 1 到 4 时会画出一条实线来(DrawStyle 属性值不会改变)。将 DrawWidth 设置为 1,允许 DrawStyle 产生 DrawStyle 属性表中列出的结果。
DrawStyle 属性
返回或设置一个值,以决定图形方法输出的线型的样式。语法object.DrawStyle [= number]DrawStyle 属性语法包含下面部分:部分 描述
Object 对象表达式,其值是“应用于”列表中的一个对象。
Number 整数,指定线型,“设置值”中有详细描述。
设置值number 的设置值为:常数 设置值 描述
VbSolid 0 (缺省值)实线
VbDash 1 虚线
VbDot 2 点线
VbDashDot 3 点划线
VbDashDotDot 4 双点划线
VbInvisible 5 无线
VbInsideSolid 6 内收实线
说明 若 DrawWidth 属性设置为大于 1, DrawStyle 属性设置值为 1 到 4 会画一条实线( DrawStyle 属性值不改变)。若 DrawWidth 设置为 1, DrawStyle 产生的效果如前面表中的各设置值所述。
DrawMode 属性
返回或设置一个值,以决定图形方法的输出外观或者 Shape 及 Line 控件的外观。语法object.DrawMode [= number]DrawMode 属性语法包含下面部分:部分 描述
object 对象表达式,其值是“应用于”列表中的一个对象。
Number 整型值,指定外观,“设置值”中有详细描述。
设置值number 的设置值为:常数 设置值 描述
VbBlackness 1 黑色。
VbNotMergePen 2 非或笔 - 与设置值 15 相反 (Merge Pen)。
VbMaskNotPen 3 与非笔 - 背景色以及画笔反相二者共有颜色的组合。
VbNotCopyPen 4 非复制笔 - 设置值 13 (Copy Pen) 的反相
VbMaskPenNot 5 与笔非 - 画笔以及显示反相二者共有颜色的组合。
VbInvert 6 反转 - 显示颜色的反相
VbXorPen 7 异或笔 - 画笔的颜色以及显示颜色的组合,只取其一。
VbNotMaskPen 8 非与笔 - 设置值 9 (Mask Pen) 的反相。
VbMaskPen 9 与笔 - 画笔和显示二者共有颜色的组合。
VbNotXorPen 10 非异或笔 - 方式 7 的反相 (Xor Pen)。
VbNop 11 无操作 - 输出保持不变。该设置实际上关闭画图。
VbMergeNotPen 12 或非笔 - 显示颜色与画笔颜色反相的组合。
VbCopyPen 13 复制笔(缺省值) - 由 ForeColor 属性指定的颜色。
VbMergePenNot 14 或笔非 - 画笔颜色与显示颜色的反相的组合。
VbMergePen 15 或笔 - 画笔颜色与显示颜色的组合。
VbWhiteness 16 白色。
说明当用 Shape 或 Line 控件,或者用图形方法画图时,使用这个属性产生可视效果。Visual Basic 将绘图模式的每一个像素与现存背景色中相应的像素做比较,然后进行逐位比较操作。例如,设置值 7(异或笔)用 Xor 操作符将绘图模式像素和背景像素组合起来。DrawMode 设置值的真正效果,取决于运行时所画线的颜色与屏幕已存在颜色的合成。对于设置值 1,6,7,11,13 和 16 可以最可靠地预知该属性的输出结果。