2012-12-07 91 views
1

是否有可能調整VB6內形式,因爲如果我使用Form1.HeightForm1.Width它包括窗口邊框的高度和寬度,所以我就可以在一個窗口中的主題使用此代碼(例如,它的工作最好在WinXP與XP主題,但不適用於WinXP與經典主題,它看起來太長),任何建議?VB6內表調整大小

enter image description here

回答

3

你可以做的是比較寬(外部尺寸)的ScaleWidth(這是內部尺寸),以獲得對非客戶邊界的大小。同樣,您可以將Height與ScaleHeight進行比較,以獲取頂部和底部的非客戶端大小。由此,您可以根據您想要的內部(客戶區域)大小加上非客戶端大小來設置您的最終高度和寬度。

像這樣的事情就可以去參加你的:

Const DesiredClientHeight as Single = 3435 
    Const DesiredClientWidth as Single = 3345 

    Dim fNonClientHoriz As Single, fNonClientVert As Single 

    fNonClientHoriz = Me.Width - Me.ScaleWidth 
    fNonClientVert = Me.Height- Me.ScaleHeight 

    Me.Width = DesiredClientWidth + fNonClientHoriz 
    Me.Height = DesiredClientHeight + fNonClientVert 

請注意,窗體的寬度和高度總是爲緹,所以如果你改變你的規模模式,以比緹其他的東西你需要考慮爲了那個原因。

+0

哇,感謝夥計,現在我可以繼續我的未決項目... – faid