Hi,
EDIT: Transparenz kann nur über TrayMenü geändert werden.
auf anfrage von einem kumpel, der gerne seine neusten todos immer sichtbar auf dem desktop haben will, ist folgendes entstanden.
eine variable todo-liste in kombination mit einem kalender. das ganze ist recht schlicht und einfach gehalten, erfüllt jedoch seinen zweck.
man kann das ganze auch für andere sachen verwenden, da man name und anzahl der spalten selbst bestimmten kann.
es erscheint ein fenster, das leicht transparent und durchklickbar ist und nicht in der taskleiste erscheint. das fenster ist quasi auf den desktop gepinnt. es enthält ein listview und ein editfeld, um schnell etwas zu notieren. die transparenz des fenster kann nur in der ini (0-255) geändert werden. als weitere option kann man das fenster noch OnTop setzen. diese einstellung wird nach einem neustart immer übernommen. mit einem linksklick auf das traysymbol wird der bearbeiten modus aktiviert. ein erneuter klick stellt den standardzustand wieder her (durchklickbar). das fenster kann im größe und position verändert werden (das editfeld behält seine größe jedoch bei). beide werte werden ebenfalls gespeichert und das fenster in diesem zustand beim neustart wieder hergestellt.
um einträge dem listview hinzuzufügen, gibt es ein kontextmenü, welches zeilen zufügt oder löscht. sobald eine zeile besteht (muss mindestens mit leerwerten gepflegt sein, kann man dies OnTheFly editierten (doppelklick).
zusätzlich hat man die möglichkeit, einen kalender mit 12 monaten anzeigen zu lassen. dieser ist auch durchklickbar und die transparent kann auch nur in der ini angepasst werden. einstellung zur anzeige und OnTop werden ebenfalls übernommen, genau wie die position. kalender kann wahlweise noch klickbar gemacht werden (man kann in den monaten switchen) oder aktiviert werden (fenster kann verschoben werden). postition wird gespeichert, die größe bleibt jedoch fix.
vllt kann jmd was damit anfangen =)
Spoiler anzeigen
#include <Misc.au3>
#include <Date.au3>
#include <DateTimeConstants.au3>
#include <Array.au3>
#include <StaticConstants.au3>
#include <StructureConstants.au3>
#include <GuiListView.au3>
#include <ListViewConstants.au3>
#include <GUIConstantsEx.au3>
#include <GuiEdit.au3>
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_icon=C:\Documents and Settings\plutod\My Documents\to_do_450.ico
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#include <WinAPI.au3>
#include <Constants.au3>
#include <EditConstants.au3>
#include <WindowsConstants.au3>
TraySetClick(8)
TraySetOnEvent($TRAY_EVENT_PRIMARYDOWN, "_ToogleMain")
Opt("TrayMenuMode",1) ;0=append, 1=no default menu, 2=no automatic check, 4=menuitemID not return
Opt("TrayOnEventMode",1) ;0=disable, 1=enable
Opt("GUIOnEventMode", 1) ;0=disabled, 1=OnEvent mode enabled
Opt("GUICloseOnESC", 0) ;1=ESC closes, 0=ESC won't close
;~ Opt("OnExitFunc","_Exit2")
Global $currentItem[2], $title, $currentOpt[2] = ["none"]
Global $Style = True, $StyleC = True, $Resist = True, $ContextM
$TM = TrayCreateMenu("Kalender")
$TTop1 = TrayCreateItem("Show", $TM)
TrayItemSetOnEvent(-1, "_ToogleCalender")
TrayCreateItem("")
$TTop2 = TrayCreateItem("Top", $TM)
TrayItemSetOnEvent(-1, "_TopCalender")
$TTop3 = TrayCreateItem("Resist", $TM)
TrayItemSetOnEvent(-1, "_ResistCalender")
TrayItemSetState(-1, 1)
$TTop4 = TrayCreateItem("Activate", $TM)
TrayItemSetOnEvent(-1, "_ActivateCalender")
$TTop5 = TrayCreateItem("Transparence", $TM)
TrayItemSetOnEvent(-1, "_SetCalTrans")
$TTop = TrayCreateItem("Top")
TrayItemSetOnEvent(-1, "_Top")
$TTop6 = TrayCreateItem("Transparence")
TrayItemSetOnEvent(-1, "_SetTrans")
TrayCreateItem("")
TrayCreateItem("Exit")
TrayItemSetOnEvent(-1, "_Exit")
$x = IniRead("Settings.ini", "Window", "x", "-1")
$y = IniRead("Settings.ini", "Window", "y", "-1")
$w = IniRead("Settings.ini", "Window", "weight", "450")
$h = IniRead("Settings.ini", "Window", "height", "250")
$trans = IniRead("Settings.ini", "Window", "Trans", "")
If $trans = 0 Then
IniWrite("Settings.ini", "Window", "Trans", "200")
$trans = 200
EndIf
$Top = IniRead("Settings.ini", "Window", "Top", "0")
$CalTrans = IniRead("Settings.ini", "Kalender", "Trans", "")
If $CalTrans = 0 Then
IniWrite("Settings.ini", "Kalender", "Trans", "200")
$CalTrans = 150
EndIf
$CalTop = IniRead("Settings.ini", "Kalender", "Top", "0")
$CalShou = IniRead("Settings.ini", "Kalender", "Show", "0")
$xc = IniRead("Settings.ini", "Kalender", "x", "-1")
$yc = IniRead("Settings.ini", "Kalender", "y", "-1")
$gui = GUICreate("", $w, $h, $x, $y, BitOR($WS_POPUP, $WS_POPUPWINDOW, $WS_SIZEBOX, $WS_THICKFRAME), $WS_EX_TOOLWINDOW)
$list = GUICtrlCreateListView("", 0, 1, $w, $h - 72, BitOR($LVS_SHOWSELALWAYS, $LVS_SINGLESEL), BitOR($LVS_EX_FULLROWSELECT, $LVS_EX_GRIDLINES))
GUICtrlSetResizing(-1, $GUI_DOCKLEFT + $GUI_DOCKRIGHT + $GUI_DOCKTOP + $GUI_DOCKBOTTOM)
$Columns = IniReadSection("Settings.ini", "Columns")
If Not @error Then
For $i = 1 To $Columns[0][0]
_GUICtrlListView_AddColumn($list, $Columns[$i][0], $Columns[$i][1])
Next
Else
For $i = 1 To 4
_GUICtrlListView_AddColumn($list, "Spalte " & $i, 100)
IniWrite("Settings.ini", "Columns", "Spalte " & $i, "100")
Next
EndIf
$ContextM = GUICtrlCreateContextMenu($list)
$ContextI = GUICtrlCreateMenuItem("new", $ContextM)
GUICtrlSetOnEvent(-1, "_AddNewLine")
GUICtrlSetState(-1, $GUI_DISABLE)
$ContextII = GUICtrlCreateMenuItem("delete", $ContextM)
GUICtrlSetOnEvent(-1, "_DeleteLine")
GUICtrlSetState(-1, $GUI_DISABLE)
$edit = GUICtrlCreateEdit("", 0, $h - 70, $w + 20, 90, BitOR($ES_WANTRETURN, $ES_AUTOVSCROLL, $ES_AUTOHSCROLL, $WS_VSCROLL, $WS_HSCROLL))
GUICtrlSetResizing(-1, $GUI_DOCKLEFT + $GUI_DOCKRIGHT + $GUI_DOCKBOTTOM + $GUI_DOCKHEIGHT )
WinSetTrans($gui, "", $trans)
If $Top = 1 Then
WinSetOnTop($gui, "", 1)
TrayItemSetState($TTop, 1)
EndIf
_GUICtrlEdit_SetText(GUICtrlGetHandle($edit), StringReplace(IniRead("Settings.ini", "Msg", "Msg", ""), "[CRLF]" ,@CRLF))
$IniReadSection = IniReadSection("Settings.ini", "ColumnValue")
If Not @error Then
For $i = 1 To $IniReadSection[0][0]
GUICtrlCreateListViewItem($IniReadSection[$i][1], $list)
Next
EndIf
$EditBox = GUICreate('', 200, 30, -1, -1, BitOR($WS_POPUP,$WS_BORDER), $WS_EX_TOPMOST)
$dummy = GUICtrlCreateDummy()
$hEdit = GUICtrlCreateInput('', 5, 5, 190, 20, $SS_CENTER)
;~ HotKeySet('{ESC}', '_EscEdit')
Global $AccelKeys[1][2]=[["{ENTER}", $dummy]]
GUICtrlSetOnEvent($dummy, "_EditEnter")
GUISetAccelerators($AccelKeys)
GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")
[/autoit] [autoit][/autoit] [autoit]Global $B_DESCENDING[_GUICtrlListView_GetColumnCount($list)]
[/autoit] [autoit][/autoit] [autoit]$Form1 = GUICreate("", 508, 647, $xc, $yc, BitOR($WS_POPUP, $WS_POPUPWINDOW, $WS_SIZEBOX, $WS_THICKFRAME), $WS_EX_TOOLWINDOW)
$MonthCal1 = GUICtrlCreateMonthCal(_DateAdd( 'm',-4, _NowCalcDate()), 0, 2, 170, 161, BitOR($MCS_WEEKNUMBERS, $MCS_NOTODAYCIRCLE, $MCS_NOTODAY))
$MonthCal2 = GUICtrlCreateMonthCal(_DateAdd( 'm',-3, _NowCalcDate()), 168, 2, 170, 161, BitOR($MCS_WEEKNUMBERS, $MCS_NOTODAYCIRCLE, $MCS_NOTODAY))
$MonthCal3 = GUICtrlCreateMonthCal(_DateAdd( 'm',-2, _NowCalcDate()), 336, 2, 170, 161, BitOR($MCS_WEEKNUMBERS, $MCS_NOTODAYCIRCLE, $MCS_NOTODAY))
$MonthCal4 = GUICtrlCreateMonthCal(_DateAdd( 'm',-1, _NowCalcDate()), 0, 162, 170, 161, BitOR($MCS_WEEKNUMBERS, $MCS_NOTODAYCIRCLE, $MCS_NOTODAY))
$MonthCal5 = GUICtrlCreateMonthCal(_NowCalcDate(), 168, 162, 170, 161)
$MonthCal6 = GUICtrlCreateMonthCal(_DateAdd( 'm',1, _NowCalcDate()), 336, 162, 170, 161, BitOR($MCS_WEEKNUMBERS, $MCS_NOTODAYCIRCLE, $MCS_NOTODAY))
$MonthCal7 = GUICtrlCreateMonthCal(_DateAdd( 'm',2, _NowCalcDate()), 0, 322, 170, 161, BitOR($MCS_WEEKNUMBERS, $MCS_NOTODAYCIRCLE, $MCS_NOTODAY))
$MonthCal8 = GUICtrlCreateMonthCal(_DateAdd( 'm',3, _NowCalcDate()), 168, 322, 170, 161, BitOR($MCS_WEEKNUMBERS, $MCS_NOTODAYCIRCLE, $MCS_NOTODAY))
$MonthCal9 = GUICtrlCreateMonthCal(_DateAdd( 'm',4, _NowCalcDate()), 336, 322, 170, 161, BitOR($MCS_WEEKNUMBERS, $MCS_NOTODAYCIRCLE, $MCS_NOTODAY))
$MonthCal10 = GUICtrlCreateMonthCal(_DateAdd( 'm',5, _NowCalcDate()), 0, 482, 170, 161, BitOR($MCS_WEEKNUMBERS, $MCS_NOTODAYCIRCLE, $MCS_NOTODAY))
$MonthCal11 = GUICtrlCreateMonthCal(_DateAdd( 'm',6, _NowCalcDate()), 168, 482, 170, 161, BitOR($MCS_WEEKNUMBERS, $MCS_NOTODAYCIRCLE, $MCS_NOTODAY))
$MonthCal12 = GUICtrlCreateMonthCal(_DateAdd( 'm',7, _NowCalcDate()), 336, 482, 170, 161, BitOR($MCS_WEEKNUMBERS, $MCS_NOTODAYCIRCLE, $MCS_NOTODAY))
WinSetTrans($Form1, "", $CalTrans)
If $CalTop = 1 Then
WinSetOnTop($Form1, "", 1)
TrayItemSetState($TTop2, 1)
EndIf
If $CalShou = 1 Then
GUISetState(@SW_SHOW, $Form1)
TrayItemSetState($TTop1, 1)
EndIf
_Win_SetClickThrough($Form1, "", 1)
_Win_SetClickThrough($gui, "", 1)
GUISetState(@SW_SHOW, $gui)
[/autoit] [autoit][/autoit] [autoit]While 1
Sleep(100)
If WinGetState($EditBox) = 15 And _IsPressed("1B") Then GUISetState(@SW_HIDE, $EditBox)
If WinGetState($gui) = 15 And _IsPressed("1B") Then GUISetState(@SW_HIDE, $EditBox)
WEnd
Func _ToogleMain()
If $Style = True Then
WinActivate($gui)
_Win_SetClickThrough($gui, "", False)
GUISetStyle(BitOR($WS_MINIMIZEBOX, $WS_POPUP, $WS_SYSMENU, $WS_SIZEBOX, $WS_THICKFRAME), -1, $gui)
$Style = False
Else
_Win_SetClickThrough($gui, "", True)
GUISetStyle(BitOR($WS_POPUP, $WS_POPUPWINDOW, $WS_SIZEBOX, $WS_THICKFRAME), -1, $gui)
$Style = True
EndIf
EndFunc
Func _ToogleCalender()
$WinGetState = WinGetState($Form1)
If $WinGetState = 7 Then
GUISetState(@SW_HIDE, $Form1)
IniWrite("Settings.ini", "Kalender", "Show", "0")
TrayItemSetState($TTop1, 4)
Else
GUISetState(@SW_SHOW, $Form1)
IniWrite("Settings.ini", "Kalender", "Show", "1")
TrayItemSetState($TTop1, 1)
EndIf
EndFunc
Func _ActivateCalender()
If $StyleC = True Then
GUISetState(@SW_SHOW, $Form1)
WinActivate($Form1)
_Win_SetClickThrough($Form1, "", False)
GUISetStyle(BitOR($WS_MINIMIZEBOX, $WS_CAPTION, $WS_POPUP, $WS_SYSMENU), -1, $Form1)
$StyleC = False
TrayItemSetState($TTop3, 4)
TrayItemSetState($TTop4, 1)
Else
_Win_SetClickThrough($Form1, "", True)
GUISetStyle(BitOR($WS_POPUP, $WS_POPUPWINDOW, $WS_SIZEBOX, $WS_THICKFRAME), -1, $Form1)
$StyleC = True
TrayItemSetState($TTop3, 1)
TrayItemSetState($TTop4, 4)
EndIf
EndFunc
Func _Top()
$WinIsOnTop = _WinIsOnTop($gui)
If $WinIsOnTop = 1 Then
WinSetOnTop($gui, "", 0)
IniWrite("Settings.ini", "Window", "Top", "0")
TrayItemSetState($TTop, 4)
Else
WinSetOnTop($gui, "", 1)
IniWrite("Settings.ini", "Window", "Top", "1")
TrayItemSetState($TTop, 1)
EndIf
EndFunc
Func _TopCalender()
$WinIsOnTop = _WinIsOnTop($Form1)
If $WinIsOnTop = 1 Then
WinSetOnTop($Form1, "", 0)
IniWrite("Settings.ini", "Kalender", "Top", "0")
TrayItemSetState($TTop2, 4)
Else
WinSetOnTop($Form1, "", 1)
IniWrite("Settings.ini", "Kalender", "Top", "1")
TrayItemSetState($TTop2, 1)
EndIf
EndFunc
Func _ResistCalender()
If $Resist = True Then
_Win_SetClickThrough($Form1, "", False)
TrayItemSetState($TTop3, 4)
$Resist = False
Else
_Win_SetClickThrough($Form1, "", True)
TrayItemSetState($TTop3, 1)
$Resist = True
EndIf
EndFunc
Func _SetTrans()
Do
$InputBox = InputBox("Transparence", "Set Transparence for iDo (255 = Solid, 0 = Invisible)", $trans, Default, 300, 100, Default, Default, Default, $gui)
Until @error Or StringIsInt($InputBox) And Int($InputBox) >= 0 And Int($InputBox) <= 255
If StringIsInt($InputBox) And Int($InputBox) >= 0 And Int($InputBox) <= 255 Then
IniWrite("Settings.ini", "Window", "Trans", $InputBox)
WinSetTrans($gui, "", $InputBox)
$trans = $InputBox
EndIf
GUISetState(@SW_RESTORE, $gui)
EndFunc
Func _SetCalTrans()
Do
$InputBox = InputBox("Transparence", "Set Transparence for iDo (255 = Solid, 0 = Invisible)", $CalTrans, Default, 300, 100, Default, Default, Default, $Form1)
Until @error Or StringIsInt($InputBox) And Int($InputBox) >= 0 And Int($InputBox) <= 255
If StringIsInt($InputBox) And Int($InputBox) >= 0 And Int($InputBox) <= 255 Then
IniWrite("Settings.ini", "Kalender", "Trans", $InputBox)
WinSetTrans($Form1, "", $InputBox)
$CalTrans = $InputBox
EndIf
GUISetState(@SW_RESTORE, $Form1)
EndFunc
Func _AddNewLine()
$GetColumnCount = _GUICtrlListView_GetColumnCount($list)
$addnew = "new"
For $j = 1 to $GetColumnCount - 1
$addnew &= "|"
Next
GUICtrlCreateListViewItem($addnew, $list)
GUICtrlSetState($ContextI, $GUI_DISABLE)
GUICtrlSetState($ContextII, $GUI_DISABLE)
EndFunc
Func _DeleteLine()
_GUICtrlListView_DeleteItem($list, _GUICtrlListView_GetSelectedIndices($list))
IniDelete("Settings.ini", "ColumnValue", _GUICtrlListView_GetSelectedIndices($list))
GUICtrlSetState($ContextI, $GUI_DISABLE)
GUICtrlSetState($ContextII, $GUI_DISABLE)
EndFunc
Func _Exit()
$WinGetPos = WinGetPos($Form1)
If Not @error Then
IniWrite("Settings.ini", "Kalender", "x", $WinGetPos[0])
IniWrite("Settings.ini", "Kalender", "y", $WinGetPos[1])
EndIf
$WinGetPos = WinGetPos($gui)
If Not @error Then
IniWrite("Settings.ini", "Window", "x", $WinGetPos[0])
IniWrite("Settings.ini", "Window", "y", $WinGetPos[1])
IniWrite("Settings.ini", "Window", "weight", $WinGetPos[2] -
IniWrite("Settings.ini", "Window", "height", $WinGetPos[3] -
EndIf
IniWrite("Settings.ini", "Msg", "Msg", StringReplace(_GUICtrlEdit_GetText(GUICtrlGetHandle($edit)), @CRLF, "[CRLF]"))
For $i = 0 To _GUICtrlListView_GetItemCount($list) - 1
IniWrite("Settings.ini", "ColumnValue", $i, _GUICtrlListView_GetItemTextString($list, $i))
Next
Exit
EndFunc
Func _WinIsOnTop($WindowHandle)
Local $long = _WinAPI_GetWindowLong(WinGetHandle($WindowHandle),$GWL_EXSTYLE)
Return BitAND($long,8)=8 ; $WS_EX_TOPMOST = 8
EndFunc ; Author(s): Prog@ndy
Func _WindowIsResist($handle)
$Style = _WinAPI_GetWindowLong($handle,$GWL_EXSTYLE)
If BitAND($Style,$WS_EX_TRANSPARENT) = $WS_EX_TRANSPARENT And BitAND($Style,$WS_EX_LAYERED) = $WS_EX_LAYERED Then
Return 0
Else
Return 1
EndIf
EndFunc ; Author: Prog@ndy
Func _Win_SetClickThrough($title,$text = "",$noclic = True)
Local $hWnd = WinGetHandle($title,$text)
If @error Then Return SetError(1,0,0)
If $noclic Then
_WinAPI_SetWindowLong($hWnd,$GWL_EXSTYLE,BitOR(_WinAPI_GetWindowLong($hWnd,$GWL_EXSTYLE),$WS_EX_TRANSPARENT))
If @error Then Return SetError(2,0,0)
Else
_WinAPI_SetWindowLong($hWnd,$GWL_EXSTYLE,BitAND(_WinAPI_GetWindowLong($hWnd,$GWL_EXSTYLE),BitNOT($WS_EX_TRANSPARENT)))
If @error Then Return SetError(2,0,0)
EndIf
Return 1
EndFunc ; Author(s): Prog@ndy
Func _LeftDblClick($Info)
If $Info[3] = -1 Then Return
If $currentOpt[0] = "none" Then
$currentOpt[0] = Opt('GUICoordMode', 1)
$currentOpt[1] = Opt("GUIOnEventMode", 1)
EndIf
GUICtrlSetOnEvent($hEdit, '_EditEnter')
_GUICtrlListView_SetSelectedColumn($Info[1], $Info[4])
$title = WinGetTitle($GUI)
Local $mouse = MouseGetPos(), $posEdit = WinGetPos($EditBox)
Local $posGUI = WinGetPos($GUI), $posLV = ControlGetPos($GUI, '', $list)
Local $colInfo = _GUICtrlListView_GetColumn($Info[1], $Info[4]), $sumWidth = 0, $tmp
WinSetTitle($GUI, '', 'Editiere: Zeile ' & $Info[3]+1 & ', ' & $colInfo[5])
For $i = 0 To $Info[4]
$tmp = _GUICtrlListView_GetColumn($Info[1], $i)
$sumWidth += $tmp[4]
Next
$sumWidth -= $colInfo[4]
Local $xPos = $posGUI[0]+$posLV[0]+$sumWidth
If $xPos+$colInfo[4]+10 > @DesktopWidth Then $xPos = @DesktopWidth - ($colInfo[4] + 10)
If $xPos < 0 Then $xPos = 0
WinMove($EditBox, '', $xPos, $mouse[1]-$posEdit[3], $colInfo[4]+10)
GUICtrlSetData($hEdit, _GUICtrlListView_GetItemText($Info[1], $Info[3], $Info[4]))
$currentItem[0] = $Info[3]
$currentItem[1] = $Info[4]
GUISetState(@SW_SHOW, $EditBox)
EndFunc
Func _EscEdit()
WinSetTitle($GUI, '', $title)
Opt('GUICoordMode', $currentOpt[0])
Opt("GUIOnEventMode", $currentOpt[1])
$currentOpt[0] = "none"
GUISetState(@SW_HIDE, $EditBox)
EndFunc
Func _EditEnter()
WinSetTitle($GUI, '', $title)
Opt('GUICoordMode', $currentOpt[0])
Opt("GUIOnEventMode", $currentOpt[1])
$currentOpt[0] = "none"
_GUICtrlListView_SetItemText($list, $currentItem[0], GUICtrlRead($hEdit), $currentItem[1])
GUISetState(@SW_HIDE, $EditBox)
EndFunc
Func WM_NOTIFY($hWnd, $iMsg, $iwParam, $ilParam)
Local $hWndFrom, $iIDFrom, $iCode, $tNMHDR, $hWndListView
$hWndListView = $list ; ID des LV
If Not IsHWnd($list) Then $hWndListView = GUICtrlGetHandle($list) ; ID des LV
$tNMHDR = DllStructCreate($tagNMHDR, $ilParam)
$hWndFrom = HWnd(DllStructGetData($tNMHDR, "hWndFrom"))
$iIDFrom = DllStructGetData($tNMHDR, "IDFrom")
$iCode = DllStructGetData($tNMHDR, "Code")
Switch $hWndFrom
Case $hWndListView
Switch $iCode
Case $NM_DBLCLK
Local $tInfo = DllStructCreate($tagNMITEMACTIVATE, $ilParam)
Local $aInfo[5] = [$hWndFrom, $iIDFrom, $iCode, DllStructGetData($tInfo, "Index"), _
DllStructGetData($tInfo, "SubItem")]
_LeftDblClick($aInfo)
Case $LVN_COLUMNCLICK ; A column was clicked
$tInfo = DllStructCreate($tagNMLISTVIEW, $ilParam)
_GUICtrlListView_SimpleSort($list, $B_DESCENDING, DllStructGetData($tInfo, "SubItem"))
Case $NM_RCLICK ; Sent by a list-view control when the user clicks an item with the right mouse button
$tInfo = DllStructCreate($tagNMITEMACTIVATE, $ilParam)
If IsHWnd($ContextM) Then GUICtrlDelete($ContextM)
If _GUICtrlListView_GetItemSelected(GUICtrlGetHandle($list), _GUICtrlListView_GetSelectedIndices($list)) = 1 Then
GUICtrlSetState($ContextI, $GUI_ENABLE)
GUICtrlSetState($ContextII, $GUI_ENABLE)
Else
GUICtrlSetState($ContextI, $GUI_ENABLE)
EndIf
EndSwitch
EndSwitch
Return $GUI_RUNDEFMSG
EndFunc ;==>WM_NOTIFY