親ウィンドウを変更する <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