Seite 2 von 2

Verfasst: 05.08.2006 22:00
von Alves
@ ts

Niemand will was editieren. :wink:

Der ausgewählte Eintrag soll einfach nur in einem String gespeichert werden. :allright:

Verfasst: 05.08.2006 22:05
von ts-soft
>> Der ausgewählte Eintrag soll einfach nur in einem String gespeichert werden. :allright:

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. :allright:

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 :oops: Stimmt ja.
THX @ all.