diff --git a/app/DD_PM_WINDREAM/ClassControlCreator.vb b/app/DD_PM_WINDREAM/ClassControlCreator.vb index a818507..4aeb9ba 100644 --- a/app/DD_PM_WINDREAM/ClassControlCreator.vb +++ b/app/DD_PM_WINDREAM/ClassControlCreator.vb @@ -47,7 +47,7 @@ Public Class ClassControlCreator Public Class ControlMetadata Public Guid As Integer - Public [ReadOnly] As Boolean + Public [ReadOnly] As Boolean = False End Class Private Shared Function TransformDataRow(row As DataRow) As ControlDBProps @@ -82,7 +82,6 @@ Public Class ClassControlCreator .Guid = props.Guid, .ReadOnly = props.ReadOnly } - 'ctrl.Tag = props.Guid ctrl.Name = props.Name ctrl.Location = props.Location ctrl.Font = props.Font @@ -93,7 +92,7 @@ Public Class ClassControlCreator End If If props.ReadOnly Then - ctrl.BackColor = Color.Gray + ctrl.BackColor = Color.LightGray End If Return ctrl diff --git a/app/DD_PM_WINDREAM/frmFormDesigner.vb b/app/DD_PM_WINDREAM/frmFormDesigner.vb index 82c1560..2d6abd0 100644 --- a/app/DD_PM_WINDREAM/frmFormDesigner.vb +++ b/app/DD_PM_WINDREAM/frmFormDesigner.vb @@ -437,26 +437,32 @@ Public Class frmFormDesigner End Function Sub SetActiveControlColor() - CurrentControl.BackColor = Color.DarkOrange + If DirectCast(CurrentControl.Tag, ClassControlCreator.ControlMetadata).ReadOnly = False Then + CurrentControl.BackColor = Color.DarkOrange + End If ' Reset Color of all other controls - For Each inctrl As Control In Me.pnldesigner.Controls - If inctrl.Name <> CurrentControl.Name Then - Dim Type As String = inctrl.GetType.ToString - Select Case Type - Case "System.Windows.Forms.TextBox" - inctrl.BackColor = Color.White - Case "System.Windows.Forms.ComboBox" - inctrl.BackColor = Color.White - Case "System.Windows.Forms.Label" - inctrl.BackColor = Color.Transparent - Case "System.Windows.Forms.CheckBox" - inctrl.BackColor = Color.Transparent - Case "DD_PM_WINDREAM.ClassControlCreator+LineLabel" - inctrl.BackColor = inctrl.ForeColor - Case "DigitalData.Controls.LookupGrid.LookupControl2" - inctrl.BackColor = Color.White - End Select + For Each oControl As Control In Me.pnldesigner.Controls + If oControl.Name <> CurrentControl.Name Then + Dim oMetadata = DirectCast(oControl.Tag, ClassControlCreator.ControlMetadata) + + If oMetadata.ReadOnly = False Then + Dim Type As String = oControl.GetType.ToString + Select Case Type + Case "System.Windows.Forms.TextBox" + oControl.BackColor = Color.White + Case "System.Windows.Forms.ComboBox" + oControl.BackColor = Color.White + Case "System.Windows.Forms.Label" + oControl.BackColor = Color.Transparent + Case "System.Windows.Forms.CheckBox" + oControl.BackColor = Color.Transparent + Case "DD_PM_WINDREAM.ClassControlCreator+LineLabel" + oControl.BackColor = oControl.ForeColor + Case "DigitalData.Controls.LookupGrid.LookupControl2" + oControl.BackColor = Color.White + End Select + End If End If Next End Sub diff --git a/app/DD_PM_WINDREAM/frmValidator.vb b/app/DD_PM_WINDREAM/frmValidator.vb index 92a14a6..90fe9c4 100644 --- a/app/DD_PM_WINDREAM/frmValidator.vb +++ b/app/DD_PM_WINDREAM/frmValidator.vb @@ -626,7 +626,16 @@ Public Class frmValidator Dim cmb = ClassControlCreator.CreateExistingCombobox(oControlRow, False) AddHandler cmb.SelectedValueChanged, AddressOf OnCmbselectedIndex - + AddHandler cmb.GotFocus, Sub(sender As Control, e As EventArgs) + If DirectCast(cmb.Tag, ClassControlCreator.ControlMetadata).ReadOnly = False Then + cmb.BackColor = Color.Lime + End If + End Sub + AddHandler cmb.LostFocus, Sub(sender As Control, e As EventArgs) + If DirectCast(cmb.Tag, ClassControlCreator.ControlMetadata).ReadOnly = False Then + cmb.BackColor = Color.White + End If + End Sub #Region "CONTROL LIST" Dim ControlID = TBPM_PROFILE_CONTROLSTableAdapter.cmdGetGUID(CURRENT_ProfilGUID, cmb.Name) @@ -754,12 +763,10 @@ Public Class frmValidator oMyControl = cmb - 'add_ComboBox(dr.Item("GUID"), dr.Item("CTRL_NAME"), CInt(dr.Item("X_LOC")), CInt(dr.Item("Y_LOC")), CInt(dr.Item("WIDTH")), CInt(dr.Item("HEIGHT")), dr.Item("READ_ONLY"), dr.Item("LOAD_IDX_VALUE")) 'dr.Item("INDEX_NAME"), Case "DTP" LOGGER.Debug("Versuch DTP zu laden") oMyControl = ClassControlCreator.CreateExistingDatepicker(oControlRow, False) - 'add_DTP(dr.Item("GUID"), dr.Item("NAME"), CInt(dr.Item("X_LOC")), CInt(dr.Item("Y_LOC")), CInt(dr.Item("WIDTH")), CInt(dr.Item("HEIGHT")), dr.Item("READ_ONLY"), dr.Item("LOAD_IDX_VALUE")) 'dr.Item("INDEX_NAME"), Case "DGV" LOGGER.Debug("Versuch DGV zu laden") Dim dgv = ClassControlCreator.CreateExistingDataGridView(oControlRow, False) @@ -792,15 +799,24 @@ Public Class frmValidator End If End If + AddHandler lookup.GotFocus, Sub(sender As Control, e As EventArgs) + If DirectCast(lookup.Tag, ClassControlCreator.ControlMetadata).ReadOnly = False Then + lookup.BackColor = Color.Lime + End If + End Sub + AddHandler lookup.LostFocus, Sub(sender As Control, e As EventArgs) + If DirectCast(lookup.Tag, ClassControlCreator.ControlMetadata).ReadOnly = False Then + lookup.BackColor = Color.White + End If + End Sub + 'Return filteredData 'AddHandler lookup.Leave, AddressOf onLookUp0 - 'add_DGV(dr.Item("GUID"), dr.Item("CTRL_NAME"), dr.Item("HEIGHT"), dr.Item("WIDTH"), CInt(dr.Item("X_LOC")), CInt(dr.Item("Y_LOC")), dr.Item("READ_ONLY"), dr.Item("LOAD_IDX_VALUE")) 'dr.Item("INDEX_NAME"), Case "CHK" LOGGER.Debug("Versuch Checkbox zu laden") oMyControl = ClassControlCreator.CreateExisingCheckbox(oControlRow, False) - 'add_Checkbox(dr.Item("GUID"), dr.Item("CTRL_NAME"), dr.Item("CTRL_TEXT"), CInt(dr.Item("X_LOC")), CInt(dr.Item("Y_LOC")), dr.Item("READ_ONLY"), dr.Item("LOAD_IDX_VALUE")) Case "TABLE" LOGGER.Debug("Versuch Tabelle zu laden") @@ -869,12 +885,18 @@ Public Class frmValidator Public Sub OnTextBoxFocus(sender As Object, e As EventArgs) Dim box As TextBox = sender - box.BackColor = Color.Lime - box.SelectAll() + + If DirectCast(box.Tag, ClassControlCreator.ControlMetadata).ReadOnly = False Then + box.BackColor = Color.Lime + box.SelectAll() + End If End Sub Public Sub OnTextBoxLostFocus(sender As System.Object, e As System.EventArgs) Dim box As TextBox = sender - box.BackColor = Color.White + + If DirectCast(box.Tag, ClassControlCreator.ControlMetadata).ReadOnly = False Then + box.BackColor = Color.White + End If End Sub Public Sub OnTextBoxKeyUp(sender As Object, e As KeyEventArgs) If ControlHandleStarted = True Then