ListViewGadget Frage

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Alves
Beiträge: 1208
Registriert: 19.04.2006 18:24
Kontaktdaten:

Beitrag von Alves »

@ ts

Niemand will was editieren. :wink:

Der ausgewählte Eintrag soll einfach nur in einem String gespeichert werden. :allright:
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag 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.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Alves
Beiträge: 1208
Registriert: 19.04.2006 18:24
Kontaktdaten:

Beitrag von Alves »

AFAIU.

Und das kann man ganz einfach mit den gegebenen Codes veranstalten. :allright:
Benutzeravatar
C4rizz
Beiträge: 223
Registriert: 01.05.2006 12:43
Computerausstattung: Desktop : Amd Athlon X2 3,2 ghz Black Edition. 4GB Corsair XMS DDR2, nVidia 460 gtx Sonic Extreme

Notebook : [Asus] i5 @ 2,9 ghz, 8GB Corsair DDR3, nVidia gt 540m

Internet : DSL - 16 Mbit | HSDPA - 7,2 Mbit
Wohnort: Celle

Beitrag von C4rizz »

Genau!
PB 3.94/4.10
Meine Hompage
Benutzeravatar
C4rizz
Beiträge: 223
Registriert: 01.05.2006 12:43
Computerausstattung: Desktop : Amd Athlon X2 3,2 ghz Black Edition. 4GB Corsair XMS DDR2, nVidia 460 gtx Sonic Extreme

Notebook : [Asus] i5 @ 2,9 ghz, 8GB Corsair DDR3, nVidia gt 540m

Internet : DSL - 16 Mbit | HSDPA - 7,2 Mbit
Wohnort: Celle

Beitrag 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
PB 3.94/4.10
Meine Hompage
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag 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
a²+b²=mc²
Benutzeravatar
DataMiner
Beiträge: 220
Registriert: 10.10.2004 18:56

Beitrag 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 ...
__________________________________________
Weniger glauben - mehr wissen!
------------------------------------------------------
Proud beneficial owner of SpiderBasic, PureBasic 3.x, 4.x, 5.x and PureVisionXP
Benutzeravatar
C4rizz
Beiträge: 223
Registriert: 01.05.2006 12:43
Computerausstattung: Desktop : Amd Athlon X2 3,2 ghz Black Edition. 4GB Corsair XMS DDR2, nVidia 460 gtx Sonic Extreme

Notebook : [Asus] i5 @ 2,9 ghz, 8GB Corsair DDR3, nVidia gt 540m

Internet : DSL - 16 Mbit | HSDPA - 7,2 Mbit
Wohnort: Celle

Beitrag 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".
PB 3.94/4.10
Meine Hompage
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag 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
a²+b²=mc²
Benutzeravatar
C4rizz
Beiträge: 223
Registriert: 01.05.2006 12:43
Computerausstattung: Desktop : Amd Athlon X2 3,2 ghz Black Edition. 4GB Corsair XMS DDR2, nVidia 460 gtx Sonic Extreme

Notebook : [Asus] i5 @ 2,9 ghz, 8GB Corsair DDR3, nVidia gt 540m

Internet : DSL - 16 Mbit | HSDPA - 7,2 Mbit
Wohnort: Celle

Beitrag von C4rizz »

Ups :oops: Stimmt ja.
THX @ all.
PB 3.94/4.10
Meine Hompage
Antworten