GetGadgetAttribute beim ButtonImageGadget

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

GetGadgetAttribute beim ButtonImageGadget

Beitrag von RSBasic »

Hallo,

Ich steh' grad' auf 'm Schlauch!

Entweder ist das ein Bug oder ich mach' irgendwas falsch.

Code: Alles auswählen

If OpenWindow(0,0,0,500,250,"Window",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
  If CreateGadgetList(WindowID(0))
    ButtonImageGadget(1,10,10,100,20,LoadImage(1,"Test.bmp",0),0)
  EndIf
  Debug GetGadgetAttribute(1,#PB_Button_Image)
Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf
Ist GetGadgetAttribute() nicht dazu dar, die ImageID zu ermitteln?
Wieso funktioniert das nicht?
Benutzeravatar
edel
Beiträge: 3667
Registriert: 28.07.2005 12:39
Computerausstattung: GameBoy
Kontaktdaten:

Beitrag von edel »

Was bekommst du als Ergebnis ?
Welche PB Version ?
Ist das Bild ueberhaupt da?
Benutzeravatar
Ligatur
Beiträge: 196
Registriert: 09.07.2006 00:41

Beitrag von Ligatur »

Hallo,

Du machst was falsch. LoadImage() gibt nicht die von ButtonImageGadget geforderte Image - ID zurück sondern einen beliebigen Wert ungleich 0 für OK und 0 für Fehler.
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 »

Nachdem ich den Source so angepaßt habe, das er für jeden ohne Aufwand
testbar ist, konnte ich keine Fehler bemerken :mrgreen:

Code: Alles auswählen

If OpenWindow(0,0,0,500,250,"Window",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
  If CreateGadgetList(WindowID(0))
    ButtonImageGadget(1,10,10,100,20,LoadImage(1, #PB_Compiler_Home + "Examples\Sources\Data\File.bmp",0),0)
  EndIf
  Debug GetGadgetAttribute(1,#PB_Button_Image)
  Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf
Also ist Dein Bild kaputt oder nicht vorhanden.

Gruß
Thomas
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
edel
Beiträge: 3667
Registriert: 28.07.2005 12:39
Computerausstattung: GameBoy
Kontaktdaten:

Beitrag von edel »

Du machst was falsch. LoadImage() gibt nicht die von ButtonImageGadget geforderte Image - ID zurück sondern einen beliebigen Wert ungleich 0 für OK und 0 für Fehler.
LoadImage gibt wie fast jede andere Funktion, ein HANDLE
zurueck, solange es nicht mit #pb_any aufgerufen wird. Es
kann also genauso benutzt werden.
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Beitrag von RSBasic »

@All
Blöd von mir, habs vergessen... :oops:

Also ich bekomme: 201657141
Aber ich wollte eigentlich die PB-Image-Nummer haben: LoadImage(1, #PB_Compiler_Home...

Wie kann man die Nummer ermitteln?
Benutzeravatar
edel
Beiträge: 3667
Registriert: 28.07.2005 12:39
Computerausstattung: GameBoy
Kontaktdaten:

Beitrag von edel »

Mit PB gar nicht, zumindest solange du die ID nicht mit dem HANDLE
verknuepfst, z.B. ueber eine LL oder die Objektliste durchlaeufst.
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 »

Mit PB mitteln garnicht, aber die brauchste ja eigentlich nicht, das Handle
reicht doch, nur statt ImageID(bla) nur bla
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
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Beitrag von RSBasic »

Okay danke Leute für eure Hilfe :)

Ihr seid ja mal wieder schnell :mrgreen:
Antworten