请高手帮忙解释一下这段VB小程序

请高手帮忙解释一下这段VB小程序,第1张

这个代码主要功能,就是右键点击某一节点,就会d出一个菜单

Private Sub FORM_Load()

Dim i As Integer '定义一个整型变量

TreeView1Style = tvwTreelinesPlusMinusPictureText '设置显示样式

For i = 1 To 20

TreeView1NodesAdd , , "Node" & i, "Node " & i '添加20个节点

Next i

TreeView1HideSelection = False '决定当控件失去焦点时选择文本是否加亮显示

TreeView1LabelEdit = tvwManual '对标签编辑的设置

End Sub

Private Sub MenuNodesNodeX_Click()

VBAMsgBox "Node: [" & MenuNodesNodeXCaption & "] Pop " '这段我不清楚,好象是菜单相关的一点代码

End Sub

Private Sub TreeView1_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single) '鼠标按键d起时

If Button = vbRightButton Then '如果是右键

If TreeView1HitTest(x, y) Is TreeView1SelectedItem Then '如果按下的标签是已被选中的标签

If Not TreeView1SelectedItem Is Nothing Then '如果控件中确实有节点被选中

MenuNodesNodeXCaption = TreeView1SelectedItemText '就把选中的节点文字写到MenuNodesNodeXCaption里去,是菜单吗不清楚

MePopupMenu MenuNodes 'd出菜单

End If

End If

End If

End Sub

Private Sub TreeView1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)

If Not TreeView1HitTest(x, y) Is TreeView1SelectedItem Then '如果按下的标签不是已被选中的标签

Set TreeView1SelectedItem = Nothing '就设置它为没有,这个做用是只能对已选中的项目进行拖放

End If

End Sub

商场搞活动想要制作一个抽奖程序,今天我们就来看看使用vb60制作抽奖小程序的教程。

1、首先启动vb60,执行 文件-新建命令 ,d出新建工程对话框,在该对话框中选择 标准的exe 后点击打开按钮, 进入vb程序主界面。

2、在主界面中,按住鼠标左键按住窗体周围的任意一个小正方形进行拖拽, 调节窗体的大小 ,直至自己满意为止。

3、选择窗体,在其右边的属性中找到 boderstyle属性 ,设置 属性值为none, 接着再找到 startupposition属性 ,修改属性值为2-屏幕中心,再次修改 backcolor属性 值为淡**。

4、在工具箱里选择frame1,然后在窗体上进行拖拽,大小比窗体小一些,并调整其位置,使其居中,在属性窗口找到 backcolor属性 修改其属性值为粉红色,这样设置看起来就有层次感了。

5、在工具箱里双击标签控件两次,在frame1中显示两个标签控件, 修改lable1的caption属性名称为“幸运抽奖”, 修改label2的caption属性为“0”,同时修改这两个标签控件的backcolor属性为粉色,和 frame 控件保持一致。

6、分别选择 label1和label2 ,修改其font属性,打开字体对话框选择字体为王羲之书法字体,字形为常规,字号为三号,点击确定按钮。

7、选择工具箱里按钮控件,连续双击四次,在frame1上显示四个按钮,调整他们在frame1上的位置,使排列整齐,并依次修改四个按钮的caption属性,属性值依次为“ 号码滚动”、“号码停止”、“号码重置”、“退出程序”。

8、接着选择工具箱里计时器控件并双击,在frame1上显现出来该控件,该控件的作用很大,起到计时作用,同时需要注意的是在程序运行时控件是不显示出来的。

9、双击号码滚动控件,进入代码编辑区域,对象选择 command1, 过程选择click事件,在其输入代码为

Timer1Enabled = True

主要作用是触发器开始工作。

10、双击号码停止按钮,输入代码为 Timer1Enabled = False ,起到的作用是触发器停止工作。

11、双击号码重置按钮输入代码 为Label1Caption = "0", 起到的作用是每次号码滚动后都要重新置0让每次抽奖的起始都是一样的。并双击退出程序按钮输入代码为end。

12、代码timer1的代码区域,输入代码为

Randomize

Label1Caption = "幸运中奖的号码是:" & Int(Rnd 64 + 1)

主要功能是使用随机函数产生不同的随机数值

13、代码编程完成后就可以运行调试了,点击启动标志,进行编译,如果出现错误根据错误提示进行修改,并不断调试直至通过达到预期目的为止。提示出现要求对象说明控件名称有错误,修改过来,提示出现子程序未定义则说明函数不对,即系统不能认识的函数,进行修改。

14、调试无误后,你会看到号码在不停的滚动, 点击号码停止即可停止 ,点击号码重置就会出现号码为0,点击退出程序即可界面消失,这说明已经达到所预期的功能了。

15、执行文件-生成抽奖exe,这样经过编译就生成了可执行文件,这样就可以跨平台 *** 作了,不再依赖原始程序。接 着执行文件-保存命令, 把所有的源文件进行保存即可,以方便以后修改使用。

以上就是vb60中设计抽奖器的教程,希望大家喜欢,请继续关注我们。

VB制作奇形怪状的窗体

普通的窗体都是方方的,使用API函数可以做出一些奇怪的形状。比如,窗体是圆角矩形,在中间挖一个椭圆形的洞。

先要理解一个重要的概念:区域。区域是描述设备场景中某一块的GDI对象,每个区域都有一个句柄。一个区域可以是矩形,也可以是复杂的多边形,甚至是几个区域组织在一起。窗体默认的区域就是我们看到的矩形,当然它并非一定要用这个默认的区域

现在开始,首先在窗体上做一个圆角矩形区域,这是窗体的大致轮廓。在圆角矩形里再确定一个椭圆形的区域,然后把这两个区域组织成一个区域,并设置窗体的区域为这个组织出来的区域。

CreateRoundRectRgn函数用于创建一个圆角矩形区域;CreateEllipticRgn用于创建一个椭圆区域;CombineRgn函数用于将两个区域组合为一个新区域;SetWindowRgn函数允许您改变窗口的区域。使用其他的函数还可以做出其他更奇怪的窗体。

源代码如下:

OptionExplicit

'API函数声明

PrivateDeclareFunctionCreateRectRgnLib"gdi32"(ByValX1AsLong,ByValY1AsLong,ByValX2AsLong,ByValY2AsLong)AsLong

PrivateDeclareFunctionCreateRoundRectRgnLib"gdi32"(ByValX1AsLong,ByValY1AsLong,ByValX2AsLong,ByValY2AsLong,ByValX3AsLong,ByValY3AsLong)AsLong

PrivateDeclareFunctionCreateEllipticRgnLib"gdi32"(ByValX1AsLong,ByValY1AsLong,ByValX2AsLong,ByValY2AsLong)AsLong

PrivateDeclareFunctionCombineRgnLib"gdi32"(ByValhDestRgnAsLong,ByValhSrcRgn1AsLong,ByValhSrcRgn2AsLong,ByValnCombineModeAsLong)AsLong

PrivateDeclareFunctionSetWindowRgnLib"user32"(ByValhWndAsLong,ByValhRgnAsLong,ByValbRedrawAsBoolean)AsLong

PrivateDeclareFunctionDeleteObjectLib"gdi32"(ByValhObjectAsLong)AsLong

'常数声明

PrivateConstRGN_DIFF=4

'目标区域被设置为两个区域不相交的部分

'模块级变量声明

PrivateOutRgnAsLong

'外边的圆角矩形区域

PrivateInRgnAsLong

'里边的椭圆区域

PrivateMyRgnAsLong

'圆角区域剪切掉椭圆区域后的区域,也是窗体最终的形状

PrivateSubForm_Click()

IfOutRgn<>0AndInRgn<>0AndMyRgn<>0ThenExitSub

DimwAsLong,hAsLong

w=ScaleX(Form1Width,vbTwips,vbPixels)

h=ScaleY(Form1Height,vbTwips,vbPixels)

MyRgn=CreateRectRgn(0,0,0,0)

OutRgn=CreateRoundRectRgn(30,30,w-30,h-30,100,100)

InRgn=CreateEllipticRgn(100,100,w-100,h-100)

CallCombineRgn(MyRgn,OutRgn,InRgn,RGN_DIFF)

CallSetWindowRgn(Form1hWnd,MyRgn,True)

Form1BackColor=QBColor(4)

EndSub

PrivateSubForm_DblClick()

UnloadForm1

EndSub

PrivateSubForm_Load()

OutRgn=0

InRgn=0

MyRgn=0

Form1Width=7800

Form1Height=6000

EndSub

PrivateSubForm_Unload(CancelAsInteger)

IfMyRgn<>0ThenDeleteObjectMyRgn

IfOutRgn<>0ThenDeleteObjectOutRgn

IfInRgn<>0ThenDeleteObjectInRgn

EndSub

这个程序运行后,在窗体上单击,窗体就会变形,双击窗体程序结束。要注意的是,在卸载窗体时,用DeleteObject函数删除已定义的区域。

vb6代码如下,添加模块,工程--属性--启动对象选择sub main

Sub main()

Open "c:\temp\25txt" For Input As #1

ClipboardClear

ClipboardSetText StrConv(InputB(LOF(1), 1), vbUnicode)

End Sub

以上就是关于请高手帮忙解释一下这段VB小程序全部的内容,包括:请高手帮忙解释一下这段VB小程序、vb6.0怎么制作一个抽奖小程序 vb6.0抽奖器的制作方法、vb有意思的小程序 等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9501644.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存