电信主站 网通分站
购买流程 付款方式 常见问题 在线提问 续租服务 购物车
用户名: 密 码: 忘记密码?
首 页
域名注册
虚拟主机
双线主机
服务器租用
VPS主机
企业邮局
代理专区
客服中心
虚拟主机行业资讯 虚拟主机评测对比 互联网最新动态 技术学院 站长资讯 在线教程 网站运营
搜索优化 服务器 网络编程 图形图象 站长之家 网页制作 操作系统
冲浪宝典 软件教学 视频通信 办公软件 邮件系统 网络安全 认证考试
您当前位置:西部数码->资讯中心-> 图形图象-> AutoCad教程
教你认识vb的座标系统_visualbasic教程
作者:网友供稿 点击:0
  西部数码-全国虚拟主机10强!20余项虚拟主机管理功能,全国领先!第6代双线路虚拟主机,南北访问畅通无阻!虚拟主机可在线rar解压,自动数据恢复设置虚拟目录等.虚拟主机免费赠送访问统计,企业邮局.Cn域名注册10元/年,自助建站480元起,免费试用7天,满意再付款!P4主机租用799元/月.月付免压金!
文章页数:[1] 
这里我们来看一下ScaleLeft/Top/Height/WidthScaleXScaleYTextHeightTextWidth
的一些特性与关连。
所谓的ScaleLeftScaleTopScaleTopScaleWidth指的是Window中的ClientArea即可以
画图、放元件的区域,像Title区就不在ClientArea的范围。如果我们设定ScaleMode
成不为0的数值,如设定ScaleMode=3(VBPixels)那麽就代表这区域的度量是以Pixels
为单位,而ScaleTop=ScaleLeft=0,即原点在左上角。
VB提供了一个很好用的座标系统转换,即ScaleMode,ScaleLeftScaleTopScaleTop
ScaleWidth。我个人不喜欢VB内定的ScaleMode=VbTwips,我爱ScaleMode=VBPixels
原因是Window系统的度量单位是使用Pixels而不是Twips。
如果我们想在一个画面上画上座标,那麽如何才能不管Window的大小,而只管我们所
关注的座标呢?假设我们想做一个座标,原点在Form的左下角(0,0)而右上角座标是
(100,100),那我们只要对Form如此设
ScaleTop=100
ScaleWidth=100
ScaleLeft=0
ScaleHeight=-100,那就成了,这时候,如果我们去查一下Form的MouseDown的
X,Y值,会发现它的值已变成落在0-100之间了。(此时的ScaleMode=自动变Vbuser)
更有趣的是用来计算字串高、宽的TextHeight/TextWidth也变成以座标0-100的方式来
表现了。例如说,
.CurrentX=10
.CurrentY=10
Form1.Print"HaHa",这时会见到於Form左下方会出现HaHa,它的位置便是於座标
(10,10)之处,所以了,如果Form变大,Form1.Print"HaHa"所显示之位置也会自动更动
不像其他的ScaleMode(如vbPixel),会在固定的绝对单位处显示"HaHa"。然而,有时候
我们会想要以绝对单位来做一些事,例如:我们希望在左边算来第三个Pixels处来显示
东西,的确,数学好的人可以自己转换,而像我数学不好的人,可以用ScaleX/ScaleY
来做,像方才的例子,左边算来第三点(Pixels)相对应於新的座标的宽度便是

Form1.ScaleX(3,vbPixels,vbUser)。


再来一个有趣的问题,如果有人见过我的一篇文章,用API来任意角度旋转字型,那
篇文章中字型旋转之後印在Form上,如果我们转90度,而且於(50,50)处印字,会发
现它是从(50,50)处往萤幕上方写出字,如果我们想在座标(50,50)处当作字串的结束
之地,那该如何呢,我会计算出该字串的长度(例如:长度20),而後在(50,70)处印字
,那困难点变成如何得知该字串长度,第一个反应是.TextWidth,不过别忘了,
TextWidth它随着ScaleMode的更动而变,宽度x1者,如果垂直Print,而便假设其高
度也是x1是不对的(如:ScaleTop=0,ScaleHeight=10,ScaleLeft=0,ScaleWidth
=20,而宽度=10的字串,垂直印的高度应是不会是10,若XY轴单位不同时也不一定是5
(如果字大小不变的话)。
那我会使用Pixels来做二者的转换,Pixels一个点便是一个点,所以X,Y轴的单位是相同
的,当然,使用Twips也可以,只是如果中间有用上API,人家大多以Pixels为单位。
WithForm1
OldScaleLeft=.ScaleLeft
OldScaleTop=.ScaleTop
OldScaleWidth=.ScaleWidth
OldScaleHeight=.ScaleHeight
OldScaleMode=.ScaleMode
.ScaleMode=vbPixels
txtLen=.TextWidth(mystring)myString是待旋转的字串
ifOldScaleMode<>vbUserthen
.ScaleMode=oldScaleMode
else
.ScaleLeft=OldScaleLeft
.ScaleTop=OldScaleTop
.ScaleWidth=OldScaleWidth
.ScaleHeight=OldScaleHeight
EndIf
txtHeight=.ScaleY(txtLen,vbPixels,vbUser)
EndWith
如此txtHeight便是字串於旋转後的高度啦!->


文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!
相关主题
文章页数:[1] 
Google
热门文章
·用photoshop喷色描边滤镜巧做撕纸效果_photoshop教程
·visualbasic的常见问题_visualbasic教程
·vbcom基础讲座之可重用性_visualbasic教程
·visualbasiccom基础讲座之事件_visualbasic教程
·怎样关闭一个正在运行的程序_visualbasic教程
·清除字符串中指定的字符_visualbasic教程
·为什么用vb开发数据库---vb数据库入门之(一)_visualbasic教程
·教你认识vb的座标系统_visualbasic教程
·利用api可以直接拨号_visualbasic教程
·已将textbox的alignment属性设为「1-靠右对」(1-rightjustify),但文字却未向右靠_visualbasic教程

最新文章
·用phpinfo来实现php的配置统计过程_php技巧
·php配置文件php.ini的中文注释版_php技巧
·纹理技巧:photoshop打造干涸血渍字_photoshop教程
·photoshop基础教程:跟我学调色练习13-浪漫暖色调_photoshop教程
·photoshop画笔简单打造墨渍特效_photoshop教程
·巧用photoshop通道去除人像照片面部油光_photoshop教程
·photoshop笔刷巧做青草字特效_photoshop教程
·突破windows 2003 php服务器的新思路_php技巧
·ado.net性能改善方法集合_ado.net应用
·用photoshop打造刀削苹果皮逼真效果_photoshop教程


 
 


版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!

特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
  打印  刷新  关闭
返回首页 |关于我们 | 联系我们 | 付款方式 | 创业联盟 | 虚拟主机 | 资讯中心 | 友情链接 | 网站地图

版权所有 西部数码(www.west263.com)
CopyRight (c) 2002~2006 west263.com all right reserved.
公司地址:四川成都市万和路90号天象大厦4楼 邮编:610031
电话总机:028-86262244 86263048 86263408 86263960 86264018 86267838
售前咨询:总机转201 202 203 204 206 208
售后服务:总机转211 212 213 214
财务咨询:总机转224 223 传真:028-86264041 财务QQ:点击发送消息给对方635483282
售前咨询QQ:点击发送消息给对方2182518 点击发送消息给对方241975952 点击发送消息给对方275026793 点击发送消息给对方408235859
售后服务QQ:点击发送消息给对方17708515 点击发送消息给对方307742704 点击发送消息给对方287976517 点击发送消息给对方363783715
《中华人民共和国增值电信业务经营许可证》编号:川B2-20030065号