ListIconGadget + SetGadgetItemState

Anfängerfragen zum Programmieren mit PureBasic.
gnaps
Beiträge: 151
Registriert: 02.09.2008 13:02

ListIconGadget + SetGadgetItemState

Beitrag von gnaps »

Hallo Forum,

ich habe hier ein kleines Problem.

Ich habe eine Adressverwaltung, die Daten werden in eine SQLite-Datenbank geschrieben.

Die Adressen werden dann in einem ListIconGadget angezeigt und nach dem Nachnamen sortiert.
Wenn ich nun meine Adresse z.B Mustermann in 1Mustermann ändere und wieder in das ListIconGadget einlese,
ändert sich die Position von 1Mustermann.

Wie kann ich den Fokus auf diese Adresse wieder setzen?

Im ListIconGadget in der Spalte 0 habe ich die eindeutige ID aus der SQL-Datenbank.

Wie kann ich mit SetGadgetItemState(#gad_ListAnschrift,Position,#PB_ListIcon_Selected) die Position mit der Eindeutigen ID aus der Spalte 0 auswählen?

Gruß
gnaps
PureBasic Vollversion V 5.71 für Windows - Windows 10 (64)
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: ListIconGadget + SetGadgetItemState

Beitrag von Kiffi »

die ID kannst Du mit GetGadgetItemText() auslesen.

Eine Zeile selektiert man mit SetGadgetState()

Grüße ... Kiffi
a²+b²=mc²
gnaps
Beiträge: 151
Registriert: 02.09.2008 13:02

Re: ListIconGadget + SetGadgetItemState

Beitrag von gnaps »

Hallo Kiffi,
die ID kannst Du mit GetGadgetItemText() auslesen.
das ist mir klar und habe ich auch gemacht.
Die Adresse von Mustermann oder nach der Änderung auf 1Mustermann hat immer 131 (Feste ID).

Mit SetGadgetState() kann ich aber nicht im ListIconGadget den Eintrag makieren der in der Spalte 0 den Wert 131 hat.

Oder sehe ich das falsch ?

Gruß
gnaps
PureBasic Vollversion V 5.71 für Windows - Windows 10 (64)
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

Re: ListIconGadget + SetGadgetItemState

Beitrag von ts-soft »

Code: Alles auswählen

Procedure SetStateWhereIs(ID, text.s, column = 0)
  Protected i

  For i = 0 To CountGadgetItems(ID) -1
    If GetGadgetItemText(id, i, column) = text
      SetActiveGadget(id)
      SetGadgetState(ID, i)
      Break
    EndIf
  Next
EndProcedure
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
Antworten