ToDo-Liste und Kalender

  • 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
    [autoit]

    #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>

    [/autoit] [autoit][/autoit] [autoit]

    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

    [/autoit] [autoit][/autoit] [autoit]

    Opt("GUIOnEventMode", 1) ;0=disabled, 1=OnEvent mode enabled
    Opt("GUICloseOnESC", 0) ;1=ESC closes, 0=ESC won't close
    ;~ Opt("OnExitFunc","_Exit2")

    [/autoit] [autoit][/autoit] [autoit]

    Global $currentItem[2], $title, $currentOpt[2] = ["none"]
    Global $Style = True, $StyleC = True, $Resist = True, $ContextM

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    $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")

    [/autoit] [autoit][/autoit] [autoit]

    $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 )

    [/autoit] [autoit][/autoit] [autoit]

    WinSetTrans($gui, "", $trans)
    If $Top = 1 Then
    WinSetOnTop($gui, "", 1)
    TrayItemSetState($TTop, 1)
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    _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

    [/autoit] [autoit][/autoit] [autoit]

    $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)

    [/autoit] [autoit][/autoit] [autoit]

    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))

    [/autoit] [autoit][/autoit] [autoit]

    WinSetTrans($Form1, "", $CalTrans)
    If $CalTop = 1 Then
    WinSetOnTop($Form1, "", 1)
    TrayItemSetState($TTop2, 1)
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    If $CalShou = 1 Then
    GUISetState(@SW_SHOW, $Form1)
    TrayItemSetState($TTop1, 1)
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    _Win_SetClickThrough($Form1, "", 1)
    _Win_SetClickThrough($gui, "", 1)

    [/autoit] [autoit][/autoit] [autoit]

    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

    [/autoit] [autoit][/autoit] [autoit]

    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

    [/autoit] [autoit][/autoit] [autoit]

    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

    [/autoit] [autoit][/autoit] [autoit]

    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

    [/autoit] [autoit][/autoit] [autoit]

    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

    [/autoit] [autoit][/autoit] [autoit]

    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

    [/autoit] [autoit][/autoit] [autoit]

    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

    [/autoit] [autoit][/autoit] [autoit]

    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

    [/autoit] [autoit][/autoit] [autoit]

    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

    [/autoit] [autoit][/autoit] [autoit]

    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

    [/autoit] [autoit][/autoit] [autoit]

    Func _DeleteLine()
    _GUICtrlListView_DeleteItem($list, _GUICtrlListView_GetSelectedIndices($list))
    IniDelete("Settings.ini", "ColumnValue", _GUICtrlListView_GetSelectedIndices($list))
    GUICtrlSetState($ContextI, $GUI_DISABLE)
    GUICtrlSetState($ContextII, $GUI_DISABLE)
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    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] - 8)
    IniWrite("Settings.ini", "Window", "height", $WinGetPos[3] - 8)
    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

    [/autoit] [autoit][/autoit] [autoit]

    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

    [/autoit] [autoit][/autoit] [autoit]

    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

    [/autoit] [autoit][/autoit] [autoit]

    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

    [/autoit] [autoit][/autoit] [autoit]

    Func _EscEdit()
    WinSetTitle($GUI, '', $title)
    Opt('GUICoordMode', $currentOpt[0])
    Opt("GUIOnEventMode", $currentOpt[1])
    $currentOpt[0] = "none"
    GUISetState(@SW_HIDE, $EditBox)
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    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

    [/autoit] [autoit][/autoit] [autoit]

    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

    [/autoit]
  • das kann ja jeder machen wie er will, einfach in die ini hinter Trans ne 255 schreiben, dann ist es zu 100% sichtbar.
    aber es gibt ja viele desktopbilder-fetische, die wollen sich das sicher nicht durch so ein fenster zerstören lassen.

    ich gehöre zwar nicht zu den fetischen, aber das fenster als standard auf den desktop zu pinnen finde ich auch sehr störend. lieber schlicht = transparent =)

    ok, standardmäßig steht der wert auf 200, aber wie gesagt, kann ja jeder selber anpassen =)

  • ok =)

    also, wenn du das tool startet, siehst du zwar das fenster, aber du kannst das fenster nicht verwenden, das es "durchklickbar" ist.
    um das fenster zu bearbeiten (verschieben, einträge hinzufügen) musst du erst mit der linken maustaste auf das traysymbol klicken.

    dadurch wird dem fenster der "durchklickbar-status" entzogen und du kannst es bearbeiten (dann findest du auch im listview kontextmenü den eintrag "new").

    wenn du wieder auf das traysymbol klickst, ist das fenster wieder "durchklickbar".

  • Hallo sc4ry,

    Zitat

    Zitat von Simon: Hi schön aber ich würde die Transparents weglassen finde ich besser ohne

    Zitat

    Zitat von dir: das kann ja jeder machen wie er will, einfach in die ini hinter Trans ne 255 schreiben, dann ist es zu 100% sichtbar.
    aber es gibt ja viele desktopbilder-fetische, die wollen sich das sicher nicht durch so ein fenster zerstören lassen.

    ich gehöre zwar nicht zu den fetischen, aber das fenster als standard auf den desktop zu pinnen finde ich auch sehr störend. lieber schlicht = transparent =)

    ok, standardmäßig steht der wert auf 200, aber wie gesagt, kann ja jeder selber anpassen =)


    Du könntest ja auch eine Einstellungsmöglichkeit einbauen, in INIs editieren mag (kann) nicht jeder, aber sonst :thumbup: ,

    Edit: Du könntest die von dir eröffneten Themen, wenn gelöst auch den Präfix (nähe Überschrift im 1. Beitrag) umstellen, danke

    mfg (Auto)Bert

    Einmal editiert, zuletzt von AutoBert (17. Mai 2009 um 06:35)