; ---------------------------------------------------------------------------- ; Includes ; ---------------------------------------------------------------------------- #include #include ; ---------------------------------------------------------------------------- ; Hotkeys ; ---------------------------------------------------------------------------- HotKeySet( "#c", "ShowGUI" ) ; ---------------------------------------------------------------------------- ; GUI's ; ---------------------------------------------------------------------------- Global $hwndIClock, $hwndIClockAdd, $btnAddAlert = -1, $LBS_MULTIPLESEL=0x0008 ; ---------------------------------------------------------------------------- ; GUI ; ---------------------------------------------------------------------------- ; Script generated by AutoBuilder 0.5 Prototype If Not IsDeclared('WS_CLIPSIBLINGS') Then Global $WS_CLIPSIBLINGS = 0x04000000 $hwndIClock = GuiCreate("iClock", 390, 323,(@DesktopWidth-390)/2, (@DesktopHeight-336)/2 , $WS_OVERLAPPEDWINDOW + $WS_VISIBLE + $WS_CLIPSIBLINGS) $Time = GuiCtrlCreateEdit( "", 0, 10, 390, 140, $ES_CENTER + $ES_READONLY + $ES_AUTOVSCROLL) GUICtrlSetFont ($Time, 42, 800, -1, "Courier New") GuiCtrlCreateLabel("Current song", 6, 160, 60, 20) $Song = GuiCtrlCreateInput("", 75, 158, 234, 20) $btnBrowse = GuiCtrlCreateButton("Browse", 313, 158, 76, 19) GuiCtrlCreateLabel("Alarms", 6, 185, 60, 20) $Alarms = GuiCtrlCreateList("", 74, 186, 234, 110) $btnAdd = GuiCtrlCreateButton("Add", 313, 187, 76, 46) $btnRemove = GuiCtrlCreateButton("Remove", 313, 234, 76, 46) $Save = GuiCtrlCreateButton("Save", 74, 289, 110, 30) GuiSetState() ControlFocus ( "iClock", "", $Song ) ; ---------------------------------------------------------------------------- ; GUI message loop ; ---------------------------------------------------------------------------- While 1 $msg = GuiGetMsg(1) Select Case $msg[0] = $GUI_EVENT_CLOSE If $msg[1] = $hwndIClock Then Exit ElseIf $msg[1] = $hwndIClockAdd Then GUIDelete(WinGetHandle ( "iClock - Add" )) EndIf Case $msg[0] = $GUI_EVENT_MINIMIZE MsgBox(48, "iClock alert!", "To bring back iClock simply press the Windows key + C" ) GuiSetState( @SW_HIDE ) Case $msg[0] = $btnAdd iClock_Add() Case $msg[0] = $btnAddAlert ;======================================================================= ; Getting basic input ;======================================================================= ;======================================================================= ; Getting days from listbox, thanks to SlimShady and Larry for this one ;======================================================================= $Item = _GetSelected($listDay) $Days = "" If $Item[1] <> "" Then For $i = 1 To $Item[0] $Days = $Days & $Item[$i] + 1 & ";" Next MsgBox("","", $Days) Else MsgBox( 16, "iClock add - ERROR!", "Please select days to be alerted on.") EndIf EndSelect ControlSetText ( "iClock", "", $Time, _NowTime() & @CRLF & _DateDayOfWeek(@WDAY)) WEnd ; ---------------------------------------------------------------------------- ; My functions ; ---------------------------------------------------------------------------- Func ShowGUI() GuiSetState( @SW_RESTORE ) EndFunc Func iClock_Add() Global $listDay, $comboHour, $comboMinute, $comboSecond, $editMessage Local $i $hwndIClockAdd = GUICreate ( "iClock - Add", 162, 258, -1, -1, -1, $WS_EX_TOOLWINDOW, $hwndIClock ) ; Script generated by AutoBuilder 0.5 Prototype GuiCtrlCreateLabel("Time", 10, 10, 30, 20) $comboHour = GuiCtrlCreateCombo("12", 52, 6, 34, 21) $comboMinute = GuiCtrlCreateCombo("59", 86, 6, 36, 21) $comboSecond = GuiCtrlCreateCombo("59", 122, 6, 34, 21) GuiCtrlCreateLabel("Day(s)", 10, 34, 38, 20) $listDay = GuiCtrlCreateList("Monday", 50, 31, 106, 110, 0x0000 + $LBS_MULTIPLESEL) GUICtrlSetData ( $listDay, "Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday", "Monday" ) GuiCtrlCreateLabel("Message", 2, 133, 47, 19) $editMessage = GuiCtrlCreateEdit("Wake up!", 51, 133, 102, 87, $ES_AUTOVSCROLL ) $btnAddAlert = GuiCtrlCreateButton("Add", 52, 226, 99, 28) GuiSetState(@SW_SHOW, $hwndIClockAdd) EndFunc ; ---------------------------------------------------------------------------- ; UDF's ; ---------------------------------------------------------------------------- Func _GetSelected($Ctrl_ID) ;Made by "SlimShady", thanks to Larry Local $LB_GETCOUNT = 0x018B Local $LB_GETSEL = 0x0187 Local $total_items, $list, $sel, $i $total_items = GUICtrlSendMsg($Ctrl_ID, $LB_GETCOUNT, 0, 0) If $total_items < 1 Then Return StringSplit($list, ",") For $i = 0 To $total_items - 1 $sel = GUICtrlSendMsg($Ctrl_ID, $LB_GETSEL, $i, 0) If $sel Then $list = $list & $i & "," Next Return StringSplit(StringTrimRight($list, 1), ",") EndFunc