ListIconView & Doppelklick Action
Verfasst: 21.12.2014 17:24
Hallo,
bin neu hier und habe bis dato vorwiegend in AutoIT gescriptet. Nun wollte ich ein Projekt in PB (eigentlich Spiderbasic) versuchen.
Nun bin ich gleich auf ein Problem gestossen, wobei ich leider nicht weiter komme. Bei einem Doppelklick auf ein ListIconGadget soll eine Funktion aufgerufen werden.
Dabei natürlich als erstes das aktive ListItem (Index --> Text) auslesen. Dabei will ich das BindGadgetEvent nutzen,
da in Spiderbasic Eventloops ja nicht so angesagt sind. Anbei ein Testcode. Irgendwie wird da nichts zurückgegeben.
Anregungen sind "very warm willkommen"
.
Edit by NicTheQuick: Quote-Tags in Code-Tags geändert
bin neu hier und habe bis dato vorwiegend in AutoIT gescriptet. Nun wollte ich ein Projekt in PB (eigentlich Spiderbasic) versuchen.
Nun bin ich gleich auf ein Problem gestossen, wobei ich leider nicht weiter komme. Bei einem Doppelklick auf ein ListIconGadget soll eine Funktion aufgerufen werden.
Dabei natürlich als erstes das aktive ListItem (Index --> Text) auslesen. Dabei will ich das BindGadgetEvent nutzen,
da in Spiderbasic Eventloops ja nicht so angesagt sind. Anbei ein Testcode. Irgendwie wird da nichts zurückgegeben.
Anregungen sind "very warm willkommen"

Code: Alles auswählen
Global Panel_CmdToolBox , Window_CmdToolBox, CmdListKey
Global NewMap Cmd_Section_System.s()
; Regular way to add an element
Cmd_Section_System("ServiceStop") = "Dienst Stoppen"
Cmd_Section_System("ServiceStart") = "Dienst Starten"
Cmd_Section_System("ServiceStatus") = "Dienst Status abfragen"
Procedure SizeCmdToolBoxHandler()
Debug "Size event on Toolwindow #" + EventWindow()
ResizeGadget(Panel_CmdToolBox,0,0, WindowWidth(EventWindow()), WindowHeight(EventWindow()))
;ResizeGadget(CmdToolBox_CmdListKey,0,0, GadgetWidth(Panel_CmdToolBox) ,GadgetHeight(Panel_CmdToolBox))
;ResizeGadget(CmdToolBox_CmdListDesc,0,0, GadgetWidth(Panel_CmdToolBox) / 2,#PB_Ignore)
EndProcedure
Procedure ListCmdToolBoxHandler()
Debug "Liste"
;Result = GetGadgetData(EventGadget())
Debug "ListDoubleKlick " + Result
EndProcedure
Procedure CloseWindowEvent()
CloseWindow(EventWindow())
EndProcedure
Procedure OpenWindow_Cmd_Toolbox(x = 0, y = 0, width = 400, height = 300)
ScrCmd_ColorBack = RGB(233,233,233)
LangStr_WinTitle$ = "Script ToolBox"
LngStr_LblService$ = "Service"
LngStrg_WaitService$ = "auf Ausführung warten"
LangStr_BtnOK$ = "Ok"
LangStr_BtnChancel$ = "Chancel"
Window_CmdToolBox = OpenWindow(#PB_Any, x, x, width, height, LangStr_WinTitle$, #PB_Window_SystemMenu | #PB_Window_Tool |#PB_Window_SizeGadget | #PB_Window_ScreenCentered)
BindEvent(#PB_Event_SizeWindow, @SizeCmdToolBoxHandler())
BindEvent(#PB_Event_CloseWindow, @CloseWindowEvent())
CmdListKey = ListIconGadget(#PB_Any, 0, 0,width, height,"" ,120)
CmdListDesc = AddGadgetColumn(CmdListKey, 1, "",400)
ForEach Cmd_Section_System()
Debug Cmd_Section_System()
AddGadgetItem(CmdListKey , -1, MapKey(Cmd_Section_System()) +Chr(10)+Cmd_Section_System())
Next
;ResizeGadget(0, #PB_Ignore, #PB_Ignore, 300, #PB_Ignore)
BindGadgetEvent(CmdListKey,@ListCmdToolBoxHandler(),#PB_Event_LeftDoubleClick)
StickyWindow(Window_CmdToolBox ,1)
Repeat
Event = WaitWindowEvent()
Until Event = #PB_Event_CloseWindow
EndProcedure
OpenWindow_Cmd_Toolbox()