ExplorerListGadget
ExplorerListGadget
Hallo
Ich habe ein Stringgadget in dem ich einen Pfad eingeben kann und ein buttongadget mit dem ich den arbeitsplatz mit dem Pfad öffnen kann. Vor einiger zeit hab ich mal gefragt wie ich den pfad mit einer taste öffnen kann also Enter. jetzt habe ich ein explorerlistgadget. wenn ich auf ein ordner oder eine datei klicke wird der pfad und der name der datei in dem stringgadget eingetragen. jetzt muss ich extra enter drücken oder auf den button klicken. Meine frage: Geht das nicht auch mit einem Doppelklick?
Ich habe ein Stringgadget in dem ich einen Pfad eingeben kann und ein buttongadget mit dem ich den arbeitsplatz mit dem Pfad öffnen kann. Vor einiger zeit hab ich mal gefragt wie ich den pfad mit einer taste öffnen kann also Enter. jetzt habe ich ein explorerlistgadget. wenn ich auf ein ordner oder eine datei klicke wird der pfad und der name der datei in dem stringgadget eingetragen. jetzt muss ich extra enter drücken oder auf den button klicken. Meine frage: Geht das nicht auch mit einem Doppelklick?
-
- Beiträge: 6291
- Registriert: 29.08.2004 08:37
- Computerausstattung: Hoffentlich bald keine mehr
- Kontaktdaten:
http://freak.purearea.net/code/TreeDrag.html Vielleicht hilft dir daszigapeda hat geschrieben:Noch was: Kann man auch eine Drag & Droß funktion einbauen? also das ich dateien auf ein anderes fenster oder einem anderen gadget im selben fenster ziehen kann?

Und kennst du die funktion EventType() und die Konstante #PB_Event_LeftDoubleClick?
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
-
- Beiträge: 6291
- Registriert: 29.08.2004 08:37
- Computerausstattung: Hoffentlich bald keine mehr
- Kontaktdaten:
Beim #PB_EventType_LeftDoubleClick bekomm ich nie was, aber versuch mal was mit Timern.
Das sollte laut hilfe Funktionieren:
Das sollte laut hilfe Funktionieren:
Code: Alles auswählen
#WindowWidth = 640
#WindowHeight = 480
#WindowFlags = #PB_Window_MinimizeGadget | #PB_Window_TitleBar | #PB_Window_ScreenCentered | #PB_Window_SystemMenu
hWnd = OpenWindow(0, 0, 0, #WindowWidth, #WindowHeight, #WindowFlags, "Beispiel")
CreateGadgetList(WindowID())
ExplorerListGadget(0, 0, 0, #WindowWidth, #WindowHeight, "C:\")
Repeat
Event = WindowEvent()
If EventGadgetID() = 0 And EventType() = #PB_EventType_LeftDoubleClick And Event = #PB_Event_Gadget
MessageRequester("Message", "Doppelklick wurde ausgeführt.")
EndIf
Delay(10)
Until Event = #PB_Event_CloseWindow
End
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Jetzt hab ich folgenden Code:
Warum geht das dann nicht? ich hab die gleichen bedingungen wie du mir gepostet hast nur hald nicht in einer schleife sondern in mehreren. Dein Programm funktioniert.
Code: Alles auswählen
Repeat
Select WaitWindowEvent()
Case #pb_event_gadget
Select EventGadgetID()
Case 102
If EventType() = #PB_EventType_LeftDoubleClick
RunProgram(GetGadgetText(17))
SetGadgetText(17,"")
EndIf
EndSelect
EndSelect
ForEver
Hallozigapeda hat geschrieben:Jetzt hab ich folgenden Code:Warum geht das dann nicht? ich hab die gleichen bedingungen wie du mir gepostet hast nur hald nicht in einer schleife sondern in mehreren. Dein Programm funktioniert.Code: Alles auswählen
Repeat Select WaitWindowEvent() Case #pb_event_gadget Select EventGadgetID() Case 102 If EventType() = #PB_EventType_LeftDoubleClick RunProgram(GetGadgetText(17)) SetGadgetText(17,"") EndIf EndSelect EndSelect ForEver
Dein Case #pb_event_gadget ist falsch das heisst: Case #PB_EventGadget
das könnte der Fehler sein
