親ウィンドウを変更する          <TOP>


SetParent 指定された子ウィンドウの親ウィンドウを変更
 

エディットボックスの親を、自フォーム<->デスクトップと変更しています。

 

 

'================================================================
'= 親ウィンドウを変更する
'=    (SetParent4.bas)
'================================================================
#include "Windows.bi"

' 指定された子ウィンドウの親ウィンドウを変更
Declare Function Api_SetParent& Lib "user32" Alias "SetParent" (ByVal hWndChild&, ByVal hWndNewParent&)

Var Shared Combo1 As Object
Var Shared Edit1 As Object

Combo1.Attach GetDlgItem("Combo1") : Combo1.SetFontSize 14
Edit1.Attach GetDlgItem("Edit1") : Edit1.SetFontSize 14

Var Shared hWnd As Long

'================================================================
'=
'================================================================
Declare Sub MainForm_Start edecl ()
Sub MainForm_Start()
    Combo1.AddString "自フォーム"
    Combo1.AddString "デスクトップ"
    hWnd = GethWnd
End Sub

'================================================================
'=
'================================================================
Declare Sub Combo1_Change edecl ()
Sub Combo1_Change()
    Var Ret As Long

    '親ウィンドウを設定
    If Combo1.GetCursel = 0 Then
        Ret = Api_SetParent(Edit1.GethWnd, hWnd)
    Else
        Ret = Api_SetParent(Edit1.GethWnd, 0)
    End If
End Sub

'================================================================
'=
'================================================================
While 1
    WaitEvent
Wend
Stop
End