国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 建德市| 房山区| 天祝| 二连浩特市| 连南| 南部县| 筠连县| 梨树县| 高陵县| 新密市| 马山县| 尉氏县| 晋城| 清涧县| 彭泽县| 阿拉善左旗| 曲阳县| 石屏县| 苍山县| 大方县| 彰化市| 百色市| 江孜县| 新巴尔虎右旗| 南城县| 南宫市| 通州区| 区。| 综艺| 疏附县| 怀柔区| 绥阳县| 阜宁县| 大渡口区| 浙江省| 武强县| 黔西县| 烟台市| 容城县| 裕民县| 洛浦县|