ウィンドウをアクティブにする          <TOP>


MainFormとForm2を相手方のボタンによりアクティブにします。

F-BASICのSetActiveWindowと全く同じ動作をします。従って、API・F-BASICのどちらをチェックしても同じことです。(^^;;)

SetActiveWindow ウインドウをアクティブに

 

 

 

'================================================================
'= ウィンドウを最前面に表示する
'=    (SetActiveWindow.bas)
'================================================================
#include "Windows.bi"

' 指定のウィンドウをアクティブにする
Declare Function Api_SetActiveWindow& Lib "user32" Alias "SetActiveWindow" (ByVal hWnd&)

Var Shared MainForm As Object
Var Shared Form2 As Object

MainForm.Attach GethWnd

'================================================================
'=
'================================================================
Declare Sub MainForm_Start edecl ()
Sub MainForm_Start()
    Form2.CreateWindow "Form2", -1
End Sub

'================================================================
'=
'================================================================
Declare Function Index bdecl () As Integer
Function Index()
    Index = Val(Mid$(GetDlgRadioSelect("Radio1"), 6)) - 1
End Function

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

    If Index = 0 Then
        Ret = Api_SetActiveWindow(Form2.GethWnd)
    Else
        Form2.SetActiveWindow
    End If
End Sub

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

    If Index = 0 Then
        Ret = Api_SetActiveWindow(MainForm.GethWnd)
    Else
        MainForm.SetActiveWindow
    End If
End Sub

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