Seite 2 von 2
Verfasst: 05.08.2006 22:00
von Alves
@ ts
Niemand will was editieren.
Der ausgewählte Eintrag soll einfach nur in einem String gespeichert werden.

Verfasst: 05.08.2006 22:05
von ts-soft
>> Der ausgewählte Eintrag soll einfach nur in einem String gespeichert werden.
Dann gehts also um den EventLoop?
If EventGadget() = #ListIcon
Eintrag = GetGadgetState
usw.
Verfasst: 05.08.2006 22:05
von Alves
AFAIU.
Und das kann man ganz einfach mit den gegebenen Codes veranstalten.

Verfasst: 05.08.2006 22:05
von C4rizz
Genau!
Verfasst: 06.08.2006 12:52
von C4rizz
@Null
Habs ausprobiert klappt aber nicht ganz, der Rückgabewert ist immer -1!
Woran liegts?
Code: Alles auswählen
If OpenWindow(0,0,0,100,100,"Übung 2",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
If CreateGadgetList(WindowID(0))
ListViewGadget(1,10,10,90,80)
eintrag = GetGadgetState(1);Eintrag ist immer -1
GadgetToolTip(1,"Bitte mit links klicken")
For zahl = 1 To 5
AddGadgetItem(1,#PB_Any,"Item "+Str(zahl))
Next
EndIf
Repeat
EventID = WaitWindowEvent()
EventType()
If EventType() = #PB_EventType_LeftClick
MessageRequester("Test","Sie haben "+Str(eintrag)+" ausgewählt!",0);Nur zum Test.
EndIf
If EventID = #PB_Event_CloseWindow
Quit = 1
EndIf
Until Quit = 1
EndIf
Verfasst: 06.08.2006 12:59
von Kiffi
@C4rizz:
so klappt's besser. Beachte: GetGadgetState ist 0-basiert.
Code: Alles auswählen
If OpenWindow(0,0,0,100,100,"Übung 2",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
If CreateGadgetList(WindowID(0))
ListViewGadget(1,10,10,90,80)
GadgetToolTip(1,"Bitte mit links klicken")
For zahl = 1 To 5
AddGadgetItem(1,#PB_Any,"Item "+Str(zahl))
Next
Repeat
EventID = WaitWindowEvent()
EventType = EventType()
EventGadget = EventGadget()
Select EventID
Case #PB_Event_Gadget
Select EventGadget
Case 1
Select EventType
Case #PB_EventType_LeftClick
MessageRequester("Test","Sie haben "+Str(GetGadgetState(1))+" ausgewählt!",0);Nur zum Test.
EndSelect
EndSelect
Case #PB_Event_CloseWindow
Quit = 1
EndSelect
Until Quit = 1
EndIf
EndIf
> Woran liegts?
vergleiche mal beide Code. Vielleicht kommst Du von selber drauf. Wenn
nicht, dann melde Dich noch mal.
Grüße ... Kiffi
Verfasst: 06.08.2006 13:01
von DataMiner
Abfrage an der falschen Stelle!
Code: Alles auswählen
If OpenWindow(0,0,0,100,100,"Übung 2",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
If CreateGadgetList(WindowID(0))
ListViewGadget(1,10,10,90,80)
GadgetToolTip(1,"Bitte mit links klicken")
For zahl = 1 To 5
AddGadgetItem(1,#PB_Any,"Item "+Str(zahl))
Next
EndIf
Repeat
EventID = WaitWindowEvent()
EventType()
If EventType() = #PB_EventType_LeftClick
eintrag = GetGadgetState(1) ; <----- hier gehört die Abfrage hin!
MessageRequester("Test","Sie haben "+Str(eintrag)+" ausgewählt!",0);Nur zum Test.
EndIf
If EventID = #PB_Event_CloseWindow
Quit = 1
EndIf
Until Quit = 1
EndIf
edit: kiffi war schneller ...
Verfasst: 06.08.2006 13:13
von C4rizz
Danke.
Nur gibt das Programm jetzt nur die Zeilennummer wieder.
Was muss ich tun, damit der Inhalt der Zeile wiedergegeben oder gespeichert wird?
Also nicht "Sie haben 1 ausgewählt", sondern "Sie haben Item 1 ausgewählt".
Verfasst: 06.08.2006 13:18
von Kiffi
> Was muss ich tun, damit der Inhalt der Zeile wiedergegeben oder
> gespeichert wird?
Code: Alles auswählen
MessageRequester("Test","Sie haben "+GetGadgetItemText(1, GetGadgetState(1), 0)+" ausgewählt!",0)
Grüße ... Kiffi
Verfasst: 06.08.2006 13:23
von C4rizz
Ups

Stimmt ja.
THX @ all.