當前位置:編程學習大全網 - 編程軟體 - VB坐標問題

VB坐標問題

Width、Height是窗體的整體寬度和高度,ScaleWidth和ScaleHeight則是窗體中客戶區(也就是去掉邊框、標題欄、菜單等後可實際利用的區域)的寬度和高度。

ScaleMode選0,表示客戶區采用的是用戶自定義坐標系統,如果設ScaleWidth=100,就表示窗體客戶區的寬度為100單位,而這個單位究竟相當於多少緹(VB的默認單位)呢?我們可以把ScaleMode重新選為默認的1,這時妳會發現當Width=4000時,ScaleWidth=3885,也就是說妳自定義的100寬度單位=3885緹,現在讓Width=5000,這時ScaleWidth=4875,也就是說客戶區的寬度增長了4875/3885=1.254826倍,那麽妳自定義的寬度單位自然也就變為100*1.254826=125.4826咯!!!高度的情況也類似,由於這時候要考慮窗體標題欄的情況,所以雖然Width和Height是相等的數值,但ScaleWidth和ScaleHeight的數值(按緹為單位算)是不相等的,所以妳自定義的100高度單位與100寬度單位也是兩種不同的長度單位。具體計算如下:

當Height=4000緹時,ScaleHeight=3495緹,

當Height=5000緹時,ScaleHeight=4485緹,

因此客戶區高度增長了 4485/3495=1.283262

也就是自定義的客戶區高度為100*1.283262=128.3262

妳會發現我計算出的高度和妳的128.821有點差別,這是因為妳和我的XP系統采用的桌面主題不同,這樣標題欄的高度也會有所不同,但誤差也不是很大。

不知道妳現在看明白了沒有?

另外,妳怎麽會得出“窗體外邊框比窗體內部大很多”的說法呢?1000米和1公裏,光從數字上來看,1000比1大很多,但妳別忘了,它們采用的是不同的單位!!!

  • 上一篇:學電路編程設計用什麽電腦?
  • 下一篇:什麽是計算機動畫制作?
  • copyright 2024編程學習大全網