VB6 設計好的程式 將 顯示設定 120 dip 會爆掉

小地將設計好的 程式 轉成 EXE

執行時候 外觀正常 但是 : 設定了

(控制台->顯示->設定值->進階->120 DPI)

後程式 爆炸了 圖形與文字 擺設位置錯亂 (放大了所以亂掉)

請問 有沒有什麼辦法可以 讓 設定 120 DPI 後程式不會爆掉

使用什麼程式碼 可鎖定 程式圖形與文字位置

==============================================

說詳細點 就是我的程式使用圖形 與文字拼湊 出來轉成 EXE

在 (控制台->顯示->設定值->進階-> 一班 96 DPI) 執行時 很正常

但是 設定成 (控制台->顯示->設定值->進階->120 DPI)

就會出現 排列位置錯誤 的現象 因為所有文字都放大了

但是圖形並不會放大 請問有沒有解決

1 個解答

評分
  • W.J.S.
    Lv 7
    1 0 年前
    最佳解答

    '設計之前先檢查設計程式之電腦之Screen.TwipsPerPixelX 及 Screen.TwipsPerPixelY,執行時再比較使用者電腦之Screen.TwipsPerPixelX 及 Screen.TwipsPerPixelY,若不同再依比例去調整

    '例如:設計程式之電腦之Screen.TwipsPerPixelX = 15 , Screen.TwipsPerPixelY = 15

    Private Sub Form_Load()

    Dim W As Single, H As Single, OBJ

    W = Screen.TwipsPerPixelX / 15

    H = Screen.TwipsPerPixelY / 15

    If W <> 1 Or H <> 1 Then

    On Error Resume Next

    For Each OBJ In Controls

    With OBJ

    .Left = .Left * W

    .Width = .Width * W

    .Top = .Top * H

    .Height = .Height * H

    .FontSize = .FontSize * H

    End With

    Next

    End If

    End Sub

    參考資料: WJS
還有問題?馬上發問,尋求解答。