Option Strict Off
Option Explicit On
Imports System.Windows.Forms
'------------------------------------ 2024/04/01 ------------------------------------
Public Class frmDlg背景画像ユラユラ
    Inherits System.Windows.Forms.Form

#Region "宣言"
    '***********************************************************************
    Private mNew実行中 As Boolean = True
    Private mMe_gmDlgID As Integer = 0
    Private mLoading As Boolean = True
    '**************************************************************************************************************************************
    Private WithEvents イベントgAppEventMaker As 五clsEventMaker
    '**************************************************************************************************************************************
    Event aaa他のウインドウが表示あるいは非表示になりました(ByVal rMe_gmDlgID As Integer, ByVal r表示変更ウインドウID As Integer, ByVal r表示True消去False As Boolean, ByRef wRet_rMe_gmDlgIDウインドウを消去しなさい As Boolean)

    Event aaaコントロールの初期化をしてください(ByRef wIsOK As Boolean, ByRef wMe_gmDlgID As Integer, ByVal OpCode_All_0__or__SelectOnly_1_to_8 As Integer, _
                            ByRef wlst背景画像の切り替え As ListBox, ByRef wlst背景画像の明るさ As ListBox, ByRef wlst移動モード As ListBox, _
                            ByRef wlstズーム比率 As ListBox, ByRef wlst移動比率 As ListBox, ByRef wlst変化スピード As ListBox, ByRef wlst変化スピード倍数 As ListBox, _
                            ByRef wlst背景画像を表示 As ListBox, ByRef wbtn規定値に戻す As Button)

    Event aaaコントロールの選択状態が変更されました(ByRef wIsOK As Boolean, ByVal OpCode_1_to_8 As Integer, _
                            ByRef r1_lst背景画像の切り替え As ListBox, ByRef r2_lst背景画像の明るさ As ListBox, ByRef r3_lst移動モード As ListBox, _
                            ByRef r4_lstズーム比率 As ListBox, ByRef r5_lst移動比率 As ListBox, ByRef r6_lst変化スピード As ListBox, ByRef r7_lst変化スピード倍数 As ListBox, _
                            ByRef r8_lst背景画像を表示 As ListBox, ByRef wbtn規定値に戻す As Button)

    Event aaaコントロールに規定値を設定してください(ByRef wIsOK As Boolean, ByRef wMe_gmDlgID As Integer, _
                            ByRef wlst背景画像の切り替え As ListBox, ByRef wlst背景画像の明るさ As ListBox, ByRef wlst移動モード As ListBox, _
                            ByRef wlstズーム比率 As ListBox, ByRef wlst移動比率 As ListBox, ByRef wlst変化スピード As ListBox, ByRef wlst変化スピード倍数 As ListBox, _
                            ByRef wlst背景画像を表示 As ListBox, ByRef wbtn規定値に戻す As Button)
    '***********************************************************************
    '宣言
    Private WithEvents o色見本 As 五clsColorSet2401 = Nothing
    Private flg_o色見本Loading As Boolean = True
#End Region

#Region "AppIniFileOp"
    Private Function zzAppIniFileOp(ByVal Load_0_QueryUnload_1_Resize_2_DoIniSave_3 As Long) As Boolean
        '読出し時に　INI ファイルが存在しない場合は　False　を返します。
        If gggAppIniFile Is Nothing Then Return False
        Return gggAppIniFile.aaAppIniFileOp_フォームサイズと位置だけ_共通処理(Load_0_QueryUnload_1_Resize_2_DoIniSave_3, Me, "3840")
    End Function
#End Region

#Region "フォームイベント"
    Private Sub frmDlg背景画像ユラユラ_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        '---------------------------------------------------
        イベントgAppEventMaker = gAppEventMaker
        '---------------------------------------------------
        mNew実行中 = False
        mLoading = True
        Dim wIsOK As Boolean = False
        RaiseEvent aaaコントロールの初期化をしてください(wIsOK, mMe_gmDlgID, 0, lst背景画像の切り替え, lst背景画像の明るさ, lst移動モード, lstズーム比率, lst移動比率, lst変化スピード, lst変化スピード倍数, lst背景画像を表示, btn規定値に戻す)
        If Not wIsOK Then GoTo EXIT_ON_ERROR
        '--------------------------------------
        o色見本 = New 五clsColorSet2401(flg_o色見本Loading, pnlColorBox, 0, 22, 220, 220)
        '--------------------------------------
        gggbol = zzColorBoxShowHide()
        mLoading = False
        '--------------------------------------
        If Not zzAppIniFileOp(0) Then gggint = ⅩFormMove(gcoフォームをスクリーン中心に移動, Me) 'INI ファイルが存在しない場合に、このフォームを画面のセンターに表示するコード。
        gggbol = ⅩForm_OwnerSet_IconSet_TextSet(Me, "", Me.Owner)
        Me.Show()
        gggbol = イベントgAppEventMaker.MakeEventフォームの表示消去(mMe_gmDlgID, True)
        Call イベントgAppEventMaker_MakeEventゲーム背景画像の表示ONOFF(gmアプリ固有クラス.pゲーム背景画像を表示BOOL)
        Return
        '---------------------------------------------------
EXIT_ON_ERROR:
        Call ⅩMsgBox_OK_情報("四frmDlgスイスイユラユラ() 内でエラーが発生しました。")
        Me.Visible = False
        Me.Close()
    End Sub
    Private Sub frmDlg背景画像ユラユラ_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
        o色見本.Dispose()
        If Me.Visible Then gggint = zzAppIniFileOp(2)
        gggint = zzAppIniFileOp(1)
        If イベントgAppEventMaker Is Nothing Then
            イベントgAppEventMaker = gAppEventMaker
        End If
        gggbol = イベントgAppEventMaker.MakeEventフォームの表示消去(mMe_gmDlgID, False)
    End Sub
    Private Sub mnu閉じる_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles mnu閉じる.Click
        Me.Close()
    End Sub
    Private Sub frmDlg背景画像ユラユラ_Disposed(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Disposed
        'qqqqq("frmDlg背景画像ユラユラ_Disposed")
        Call gmアプリ固有クラス.aa背景画像ユラユラ設定Dlg_Load_1_Disposed_2(2, Nothing)
    End Sub
    Private Sub pnlColorBox_VisibleChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles pnlColorBox.VisibleChanged
        If pnlColorBox.Visible Then
            If o色見本 IsNot Nothing Then
                flg_o色見本Loading = True
                o色見本.CurMainColor = frmMain.p配色データー背景色
                flg_o色見本Loading = False
            End If
        End If
    End Sub
    Private Function zzColorBoxShowHide() As Boolean
        'lst背景画像の切り替え
        Dim vvv As Boolean = (lst背景画像を表示.SelectedIndex = 1)
        pnlColorBox.Left = IIf(vvv, 182, 1000)
        pnlColorBox.Visible = vvv
        Return True
    End Function
#End Region

#Region "メニュー群"
    Private Sub mn1gamゲームを開始_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles mn1gamゲームを開始.Click
        Call frmMain.mn1gamゲームを開始_Click(Nothing, Nothing)
    End Sub
    Private Sub mn1gamゲームストップ_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles mn1gamゲームストップ.Click
        Call frmMain.mn1gamゲームストップ_Click(Nothing, Nothing)
    End Sub
    Private Sub mn1gamこのアプリを終了_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles mn1gamこのアプリを終了.Click
        If ⅩMsgBox_アプリ終了しますか(appアプリタイトル) Then Call frmMain.mn1gameこのアプリを終了_Click(Nothing, Nothing)
    End Sub
    Private Sub mn1gam背景画像のファイルを設定_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles mn1gam背景画像のファイルを設定.Click
        Call frmMain.mn5背景画像のファイルを設定_Click(Nothing, Nothing)
    End Sub
    Private Sub mn3optオプション設定Dlg表示_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles mn3optオプション設定Dlg表示.Click
        Call frmMain.mn3optオプション設定Dlg表示_Click(Nothing, Nothing)
    End Sub
    Private Sub mnu次の画像に切り替え_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles mnu次の画像に切り替え.Click
        If mLoading Then Return
        gggbol = frmMain.ooウロウロ.pゲーム背景画像の切り替え_次の画像に_強制的に
    End Sub
#End Region

#Region "コントロール　イベント"
    Private Sub btn規定値に戻す_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btn規定値に戻す.Click
        If mLoading Or mNew実行中 Then Exit Sub
        Dim wIsOK As Boolean = False
        RaiseEvent aaaコントロールに規定値を設定してください(wIsOK, mMe_gmDlgID, lst背景画像の切り替え, lst背景画像の明るさ, lst移動モード, lstズーム比率, lst移動比率, lst変化スピード, lst変化スピード倍数, lst背景画像を表示, btn規定値に戻す)
    End Sub
    Private Sub lst背景画像を表示_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles lst背景画像を表示.SelectedIndexChanged, lst背景画像の切り替え.SelectedIndexChanged, lst背景画像の明るさ.SelectedIndexChanged, lst移動モード.SelectedIndexChanged, lstズーム比率.SelectedIndexChanged, lst移動比率.SelectedIndexChanged, lst変化スピード.SelectedIndexChanged, lst変化スピード倍数.SelectedIndexChanged
        If mLoading Or mNew実行中 Then Exit Sub
        Dim index As Integer = IIf(sender Is lst背景画像を表示, 8, IIf(sender Is lst背景画像の切り替え, 1, IIf(sender Is lst背景画像の明るさ, 2, IIf(sender Is lst移動モード, 3, IIf(sender Is lstズーム比率, 4, IIf(sender Is lst移動比率, 5, IIf(sender Is lst変化スピード, 6, IIf(sender Is lst変化スピード倍数, 7, 0))))))))
        If index = 0 Then Return
        Dim wIsOK As Boolean = False
        RaiseEvent aaaコントロールの選択状態が変更されました(wIsOK, index, lst背景画像の切り替え, lst背景画像の明るさ, lst移動モード, lstズーム比率, lst移動比率, lst変化スピード, lst変化スピード倍数, lst背景画像を表示, btn規定値に戻す)
        If wIsOK Then
            'after op
            Select Case index
                Case 8 'lst背景画像の切り替え
                    gggbol = zzColorBoxShowHide()
            End Select
        End If
        'gggbol = zzEnabledSet()
    End Sub
    Private Sub o色見本_OnColorChanged(ByVal rCurMainColor As Integer, ByVal rCurColor As Integer, ByVal rChangeMode As 五clsColorSet2401.ColorChangeMode, ByVal rEventMouseUp As Boolean) Handles o色見本.OnColorChanged
        If mLoading Then Return
        If o色見本 Is Nothing Then Return
        If flg_o色見本Loading Then Exit Sub
        If rCurColor >= 0 Then
            If rEventMouseUp Then
                frmMain.p配色データー背景色 = rCurColor
                gggbol = frmMain.frmMain_Refresh_BackColor()
            End If
        End If
    End Sub
#End Region

#Region "イベント from gAppEventMaker"
    Private Sub イベントgAppEventMaker_MakeEventゲーム背景画像の表示ONOFF(ByVal r画像表示OnOff As Boolean) Handles イベントgAppEventMaker.ゲーム背景画像の表示ONOFF
        If gmアプリ終了する Then Return
        If Me.Visible = False Then Return
        Dim e0 As Boolean, e0not As Boolean
        mLoading = True
        lst背景画像を表示.SelectedIndex = IIf(r画像表示OnOff, 0, 1)
        mLoading = False
        '------------------------------------------------------------------
        e0 = (lst背景画像を表示.SelectedIndex = 1) : e0not = Not e0
        '------------------------------------------------------------------
        lst背景画像の切り替え.Enabled = e0not
        lst背景画像の明るさ.Enabled = e0not
        lst移動モード.Enabled = e0not
        lstズーム比率.Enabled = e0not
        lst移動比率.Enabled = e0not
        lst変化スピード.Enabled = e0not
        lst変化スピード倍数.Enabled = e0not
        mn1gam背景画像のファイルを設定.Enabled = e0not
        mnu次の画像に切り替え.Enabled = e0not
        '------------------------------------------------------------------
        '2023/06/17 new add
        gggbol = zzColorBoxShowHide()
    End Sub
    Private Sub イベントgAppEventMaker_ゲーム開始と停止(ByVal r開始True停止False As Boolean, ByRef wOptionRetStr As String) Handles イベントgAppEventMaker.ゲーム開始と停止
        If gmアプリ終了する Then Return
        If Me.Visible = False Then Return
        mn1gamゲームを開始.Enabled = Not r開始True停止False
        mn1gamゲームストップ.Enabled = r開始True停止False
    End Sub
    Private Sub イベントgAppEventMaker_フォームの表示と消去(ByVal rフォーム名ID As Integer, ByVal r表示True消去False As Boolean) Handles イベントgAppEventMaker.フォームの表示と消去
        If gmアプリ終了する Then Return
        If Me.Visible = False Then Return
        If GMCOM_Dlgs他のウインドウの表示_非表示イベントで_rMe_ウインドウを消去しなさい(mMe_gmDlgID, rフォーム名ID, r表示True消去False) Then
            Call mnu閉じる_Click(Nothing, Nothing)
        ElseIf rフォーム名ID = mMe_gmDlgID Then
            Call イベントgAppEventMaker_ゲーム開始と停止(ppゲーム実行中, "")
        ElseIf rフォーム名ID = gmDlgFileゲーム用 Then
            mn1gam背景画像のファイルを設定.Enabled = Not r表示True消去False
            mnu次の画像に切り替え.Enabled = Not r表示True消去False
        End If
        mn1gam背景画像のファイルを設定.Enabled = Not イベントgAppEventMaker.フォームの表示消去_設定と取得(0, gmDlgFileゲーム用, False)
        mn3optオプション設定Dlg表示.Enabled = Not イベントgAppEventMaker.フォームの表示消去_設定と取得(0, gmDlgウロウロオプション設定Dlg, False)
    End Sub
    Private Sub イベントgAppEventMaker_画像切り替えタイマーのオンオフ(ByRef rEventOwner As Integer, ByRef rTimerOnOff As Boolean, ByRef wRetVal As Boolean) Handles イベントgAppEventMaker.画像切り替えタイマーのオンオフ
        Dim wIsOK As Boolean = False, tmpID As Integer
        mLoading = True
        RaiseEvent aaaコントロールの初期化をしてください(wIsOK, tmpID, 1, lst背景画像の切り替え, lst背景画像の明るさ, lst移動モード, lstズーム比率, lst移動比率, lst変化スピード, lst変化スピード倍数, lst背景画像を表示, btn規定値に戻す)
        mLoading = False
    End Sub
    Private Sub イベントgAppEventMaker_背景画像の明るさが変更された後の処理(ByVal r明るさ実効値 As Single, ByVal rListIndex As Integer, ByRef w処理しました As Boolean) Handles イベントgAppEventMaker.背景画像の明るさが変更された後の処理
        mLoading = True
        lst背景画像の明るさ.SelectedIndex = rListIndex
        mLoading = False
        w処理しました = True
    End Sub
#End Region

End Class

