时间: 2021-07-31 作者:daque
vb供给了十分强的笔墨输入和画图功效, 不妨在窗口或图形框中运用百般吩咐表露字体或绘制百般图形。精巧运用那些吩咐,不只不妨实行很多特出的功效, 并且不妨为windows的步调界面减少很多生机。底下用大略的例子演练vb中随灵活画的风度。 (一)、随机笔墨动画 在vb中可运用print吩咐举行字符串的表露处事,此吩咐普遍只在暂时场所表露字符串, 但简直操纵时可经过currentx和currenty 遏制字符串表露场所,经过fontsize遏制字体的尺寸, 经过forecolor和backcolor遏制字符的前局面和背局面。 即使把上述的各项属性值均沿用rnd 举行随机爆发, 即会产生随机字符表露功效。比方在一个图形框中表露少许献岁贺辞, 同声播放巧妙的音乐, 那将是一份极好的献岁礼品。须要提防一点,因为字体彼此掩盖,长功夫表露会使窗口显得乱少许,以是最佳按确定功夫用“cls"吩咐举行窗口废除。此处证明一下脸色的遏制本领,即使运用qbcolor(rnd*15)办法设置随机脸色,只能在16种脸色中随机爆发, 而沿用rgb(rnd*256,rnd*256,rnd*256)办法,则不妨爆发256*256*256种各别的脸色。简直操纵办法请见文后command1-click事变中的代码。 (二)、立体图形随灵活画 固然径直运用画图语句即不妨实行大略的动画, 但即使经过那些吩咐绘制成确定的立体图形, 并举行随灵活画操纵, 那将更具备特出的艺术功效。比方底下两行大略的吩咐将画出一个具备激烈立体感功效的三棱锥,个中(m,n)为锥体的尖端坐标: picture1.line(m,n+2.5*i)-(m+i/2,n+2*i),rgb(180,180,180) picture1.line(m,n+2.5*i)-(m-i/2,n+2*i),rgb(80,80,80) 即使把屏幕的底色置为暗黄色, 在此窗口内的随机场所画出巨细纷歧的三角锥, 就像在黄色的戈壁上建起了多数的金字塔, 具备一种特出的情味。简直操纵本领请见文后步调中的command2-click事变中的代码。 (三)、演练步调体例进程 文后是一个实行上述随灵活画的完备演练步调,须要在from1 窗体中安置一个图形框picture1及三个吩咐按钮command1-3, 而后把底下的代码填入相映的事变处。运转此步调之后, 按下按钮1 ,则在图形框中举行随机笔墨表露。按下按钮 2,则在图形框中随机表露三棱锥。按下按钮3,则退出步调。此步调在windows 95体例上vb5.0 情况下调节和测试经过。 ′步调筹备: private sub form-load() command1.caption = ″随机笔墨″ command2.caption = ″立体图形″ command3.caption = ″退出″ form1.scalemode = 1 picture1.scalemode = 1 end sub ′随机笔墨动画 private sub command1-click() picture1.cls do nn = int(45 * rnd) if nn > 0 then picture1.fontsize = nn end if picture1.currentx = rnd * picture1.scalewidth - 1000 picture1.currenty = rnd * picture1.scaleheight picture1.forecolor = rgb(rnd * 256, rnd * 256, rnd * 256) picture1.print ″随机 ok!″ n = n + 1 if n > 50 then n = 0 picture1.backcolor = qbcolor(rnd * 15) end if doevents loop end sub ′立体随灵活画 private sub command2-click() dim m, n picture1.drawwidth = 1 picture1.backcolor = rgb(210, 150, 0) picture1.cls do m = rnd * picture1.scalewidth n = rnd * picture1.scaleheight - 500 for i = 0 to rnd * 800 picture1.line (m, n + 2.5 * i)-(m + i / 2, n + 2 * i), rgb(180, 180, 180) picture1.line (m, n + 2.5 * i)-(m - i / 2, n + 2 * i), rgb(80, 80, 80) next i doevents loop end sub ′中断步调 private sub command3-click() end end sub