Attribute VB_Name = "mdl_Icon" Option Compare Database Private last As String Private mainform As Form Public Sub init_Icon() Set mainform = Screen.ActiveForm End Sub Public Sub load_icons() Dim Ctrl As Control workdir = left(CurrentDb.Name, Len(CurrentDb.Name) - Len(Dir(CurrentDb.Name))) For Each Ctrl In mainform If Ctrl.ControlType = acImage And left(Ctrl.Name, 10) = "ico_nolang" Then Ctrl.Picture = workdir + "res\ico\" + Ctrl.Name + ".jpg" Ctrl.SizeMode = acOLESizeStretch ElseIf Ctrl.ControlType = acImage And left(Ctrl.Name, 3) = "ico" Or left(Ctrl.Name, 3) = "grp" Then Ctrl.Picture = workdir + "res\" + mdl_Settings.getSprache + "\" + Ctrl.Name + ".jpg" Ctrl.SizeMode = acOLESizeStretch End If Next Ctrl End Sub Public Sub button_repaint(icon As String, action As String) If (Not last = icon Or action = "active") Then DoCmd.Echo False Dim Ctrl As Control workdir = left(CurrentDb.Name, Len(CurrentDb.Name) - Len(Dir(CurrentDb.Name))) For Each Ctrl In mainform If Ctrl.ControlType = acImage Then If Ctrl.Tag = action Then Ctrl.Picture = workdir + "res\" + mdl_Settings.getSprache + "\" + Ctrl.Name + ".jpg" Ctrl.Tag = "" Exit For ElseIf Ctrl.Tag = "active_over" Then Ctrl.Picture = workdir + "res\" + mdl_Settings.getSprache + "\" + Ctrl.Name + "_active.jpg" Ctrl.Tag = "active" Exit For End If End If Next Ctrl For Each Ctrl In mainform If Ctrl.Name = icon Then Ctrl.Picture = workdir + "res\" + mdl_Settings.getSprache + "\" + Ctrl.Name + "_" + action + ".jpg" If Ctrl.Tag = "active" And action = "over" Then Ctrl.Tag = "active_over" Else Ctrl.Tag = action Exit For End If Next Ctrl last = icon DoCmd.Echo True End If End Sub