回覆列表
  • 1 # 使用者2443157580448

    在Windows中,任何視窗都是可以移動的,無論他是MFC程式的主介面,還是主介面上的一個子控制元件。使用MoveWindow或SetWindowPos函式 如果MFC自己沒有做全屏的工作,就需要你動態地計算全屏後各個控制元件的具體位置,然後用MoveWindow將其移動到相應的位置,以此來實現全屏參考 winapi - In c++ Windows API resize window during runtime?補充一句,你怎麼還在學習MFC這種已經過時的技術?沒必要,划不來

  • 2 # 使用者1430807591406

    函式 SetWindowPos 的用法

    Declare Function SetWindowPos Lib "user32" Alias "SetWindowPos" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long

    這個函式能為視窗指定一個新位置和狀態。它也可改變視窗在內部視窗列表中的位置。

    返回值:Long,非零表示成功,零表示失敗

    引數說明

    hwnd:欲定位的視窗

    hWndInsertAfter:視窗控制代碼。在視窗列表中,視窗hwnd會置於這個視窗控制代碼的後面。也可能選用下述值之一:

    0 將視窗置於Z序列的頂部;Z序列代表在分級結構中,視窗針對一個給定級別的視窗顯示的順序

    -1 將視窗置於列表頂部,並位於任何最頂部視窗的前面

    -2 將視窗置於列表頂部,並位於任何最頂部視窗的後面

    x 視窗新的x座標。如hwnd是一個子視窗,則x用父視窗的客戶區座標表示

    y 視窗新的y座標。如hwnd是一個子視窗,則y用父視窗的客戶區座標表示

    cx 指定新的視窗寬度

    cy 指定新的視窗高度

    wFlags 可以是下面一個值或幾個數值的和

    &H1 不改變大小

    &H2 不改變位置

    &H4 不改變Z序列(忽略 hWndInsertAfter 引數)

    &H10 不啟用窗體

    &H40 顯示窗體

    &H80 隱藏窗體

    註解:視窗成為最頂級視窗後,它下屬的所有視窗也會進入最頂級。一旦將其設為非最頂級,則它的所有下屬和物主視窗也會轉為非最頂級。Z序列用垂直於螢幕的一根假想Z軸量化這種從頂部到底部排列的視窗順序

  • 中秋節和大豐收的關聯?
  • 為什麼孩子學習不好,有些父母認為是遊戲手機的過錯?