Option Strict Off
Option Explicit On
Imports System.Windows.Forms
'------------------------------------ 2024/04/01 ------------------------------------
Public Class 四frmDlgカード選択ColorSet

#Region "宣言"
    Private mMe_gmDlgID As Integer = 0
    Private mDlgLoading As Boolean = False
    Private mColor1stt As Integer, mColor2stt As Integer, mColor3stt As Integer
    Event ウインドウの初期化データーをください(ByRef wIsOK As Boolean, ByRef wMe_gmDlgID As Integer, ByRef wダイアログテキスト As String, ByRef wColor1 As Integer, ByRef wColor2 As Integer, ByRef wColor3 As Integer)
    Event カラーが変更されました(ByVal rIndex As Integer, ByVal rColor As Integer)
    Event カラーをすべて元に戻しなさい(ByVal rColor1stt As Integer, ByVal rColor2stt As Integer, ByVal rColor3stt As Integer)
    Event カラーを規定値にリセットしなさい()
    Event メニューのEnabledデーターをください(ByRef w元に戻す As Boolean, ByRef w規定値にリセット As Boolean, ByVal rColor1stt As Integer, ByVal rColor2stt As Integer, ByVal rColor3stt As Integer)
    Event カラーの現在値をください(ByVal rIndex_1_2_3 As Integer, ByRef wColor As Integer)
    '**************************************************************************
    '宣言
    Private WithEvents o色見本 As 五clsColorSet2401 = Nothing
    Private flg_o色見本Loading As Boolean = True
    Private Const c色見本縁幅 As Integer = 25
#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, Me.Text)
    End Function
#End Region

#Region "フォームイベント"
    '***********************************************************************
    Private Sub 四frmDlgカード選択ColorSet_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        '---------------------------------------------------
        Dim wIsOK As Boolean, wダイアログテキスト As String = ""
        wIsOK = False
        RaiseEvent ウインドウの初期化データーをください(wIsOK, mMe_gmDlgID, wダイアログテキスト, mColor1stt, mColor2stt, mColor3stt)
        If wIsOK = False Then GoTo EXIT_ON_ERROR
        '---------------------------------------------------
        mDlgLoading = True
        gggbol = zzEnabledSet()
        mDlgLoading = False
        If Not zzAppIniFileOp(0) Then gggint = ⅩFormMove(gcoフォームをスクリーン中心に移動, Me) 'INI ファイルが存在しない場合に、このフォームを画面のセンターに表示するコード。
        '---------------------------------------------------
        gggbol = ⅩForm_OwnerSet_IconSet_TextSet(Me, wダイアログテキスト, Me.Owner)
        '---------------------------------------------------
        o色見本 = New 五clsColorSet2401(flg_o色見本Loading, Me, lblColorPos)
        Call o色見本Resize()
        '---------------------------------------------------
        mDlgLoading = False
        gggbol = zz色設定対象の変更イベント()
        Exit Sub
        Return
        '---------------------------------------------------
EXIT_ON_ERROR:
        Call ⅩMsgBox_OK_情報("四frmDlgカード選択ColorSet_Load() 内でエラーが発生しました。")
        Me.Close()
    End Sub
    Private Sub 四frmDlgカード選択ColorSet_Resize(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Resize
        Call o色見本Resize()
    End Sub
    Private Sub 四frmDlgカード選択ColorSet_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)
    End Sub
    Private Sub 四frmDlgカード選択ColorSet_Disposed(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Disposed
        qqqqq("四frmDlgカード選択ColorSet_Disposed")
    End Sub
    '***********************************************************************
#End Region

#Region "メニューイベント"
    '***********************************************************************
    Private Sub mnuすべて元に戻す_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles mnuすべて元に戻す.Click
        RaiseEvent カラーをすべて元に戻しなさい(mColor1stt, mColor2stt, mColor3stt)
        gggbol = zzEnabledSet()
        gggbol = zzメニューイベントの後で()
    End Sub
    Private Sub mnu規定値にリセット_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles mnu規定値にリセット.Click
        RaiseEvent カラーを規定値にリセットしなさい()
        gggbol = zzEnabledSet()
        gggbol = zzメニューイベントの後で()
    End Sub
    Private Function zzメニューイベントの後で() As Boolean
        opt背景の色.Checked = True
        Return zz色設定対象の変更イベント()
    End Function
    Private Sub mnu閉じる_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles mnu閉じる.Click
        Me.Close()
    End Sub
    '***********************************************************************
#End Region

#Region "opt イベント"
    '***********************************************************************
    Private Sub opt背景の色_CheckedChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles opt背景の色.CheckedChanged, optカードの色.CheckedChanged, optカードの枠の色.CheckedChanged
        gggbol = zz色設定対象の変更イベント()
    End Sub
    Private Function zz色設定対象の変更イベント() As Boolean
        If mDlgLoading Then Return False
        If o色見本 Is Nothing Then Return False
        Dim idx As Integer = IIf(opt背景の色.Checked, 1, IIf(optカードの色.Checked, 2, 3))
        Dim wColor As Integer = -1
        RaiseEvent カラーの現在値をください(idx, wColor)
        If wColor > -1 Then
            o色見本.CurMainColor = wColor : Return True
        End If
        Return False
    End Function
    '***********************************************************************
    Private Sub o色見本Resize()
        'm色見本Parent の ReSize イベントに合わせて、自動的にカラーパレットのサイズを変更するなら、、、
        If flg_o色見本Loading Then Return
        If o色見本 IsNot Nothing Then Call o色見本.ReSizeDraw(c色見本縁幅, c色見本縁幅)
    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 mDlgLoading Then Return
        If o色見本 Is Nothing Then Exit Sub
        If flg_o色見本Loading Then Exit Sub
        If rCurColor >= 0 Then
            If rEventMouseUp Then
                Dim rIndex As Integer = IIf(opt背景の色.Checked, 1, IIf(optカードの色.Checked, 2, 3))
                RaiseEvent カラーが変更されました(rIndex, rCurColor)
                gggbol = zzEnabledSet()
            End If
        End If
    End Sub
#End Region

#Region "ローカルヘルパー"
    '***********************************************************************
    Private Function zzEnabledSet() As Boolean
        Dim w元に戻す As Boolean, w規定値にリセット As Boolean
        RaiseEvent メニューのEnabledデーターをください(w元に戻す, w規定値にリセット, mColor1stt, mColor2stt, mColor3stt)
        mnuすべて元に戻す.Enabled = w元に戻す
        mnu規定値にリセット.Enabled = w規定値にリセット
        Return True
    End Function
    '***********************************************************************
#End Region

End Class