国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

教你認(rèn)識(shí)VB的座標(biāo)系統(tǒng)

2019-11-18 17:40:52
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
這里我們來(lái)看一下ScaleLeft/Top/Height/WidthScaleXScaleYTextHeightTextWidth
的一些特性與關(guān)連。
所謂的ScaleLeftScaleTopScaleTopScaleWidth指的是Window中的ClientArea即可以
畫(huà)圖、放元件的區(qū)域,像Title區(qū)就不在ClientArea的范圍。如果我們?cè)O(shè)定ScaleMode
成不為0的數(shù)值,如設(shè)定ScaleMode=3(VBPixels)那麼就代表這區(qū)域的度量是以Pixels
為單位,而ScaleTop=ScaleLeft=0,即原點(diǎn)在左上角。
VB提供了一個(gè)很好用的座標(biāo)系統(tǒng)轉(zhuǎn)換,即ScaleMode,ScaleLeftScaleTopScaleTop
ScaleWidth。我個(gè)人不喜歡VB內(nèi)定的ScaleMode=VbTwips,我愛(ài)ScaleMode=VBPixels
原因是Window系統(tǒng)的度量單位是使用Pixels而不是Twips。
如果我們想在一個(gè)畫(huà)面上畫(huà)上座標(biāo),那麼如何才能不管Window的大小,而只管我們所
關(guān)注的座標(biāo)呢?假設(shè)我們想做一個(gè)座標(biāo),原點(diǎn)在Form的左下角(0,0)而右上角座標(biāo)是
(100,100),那我們只要對(duì)Form如此設(shè)
ScaleTop=100
ScaleWidth=100
ScaleLeft=0
ScaleHeight=-100,那就成了,這時(shí)候,如果我們?nèi)ゲ橐幌翭orm的MouseDown的
X,Y值,會(huì)發(fā)現(xiàn)它的值已變成落在0-100之間了。(此時(shí)的ScaleMode=自動(dòng)變Vbuser)
更有趣的是用來(lái)計(jì)算字串高、寬的TextHeight/TextWidth也變成以座標(biāo)0-100的方式來(lái)
表現(xiàn)了。例如說(shuō),
.CurrentX=10
.CurrentY=10
Form1.ifOldScaleMode<>vbUserthen
.ScaleMode=oldScaleMode
else
.ScaleLeft=OldScaleLeft
.ScaleTop=OldScaleTop
.ScaleWidth=OldScaleWidth
.ScaleHeight=OldScaleHeight
EndIf
txtHeight=.ScaleY(txtLen,vbPixels,vbUser)
EndWith
如此txtHeight便是字串於旋轉(zhuǎn)後的高度啦!->


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 高阳县| 安仁县| 汾阳市| 溧水县| 津南区| 延安市| 洛南县| 恩平市| 林西县| 军事| 漾濞| 衡阳县| 黑龙江省| 毕节市| 库伦旗| 衡水市| 新田县| 通江县| 额尔古纳市| 洪湖市| 普兰县| 闵行区| 读书| 西平县| 淮北市| 乌恰县| 岗巴县| 湘潭县| 留坝县| 浮梁县| 遂平县| 黔南| 会昌县| 呈贡县| 濮阳市| 霍州市| 和静县| 吉首市| 青铜峡市| 禹城市| 萨迦县|