Seite 1 von 1

GetGadgetAttribute beim ButtonImageGadget

Verfasst: 20.05.2008 21:32
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?

Verfasst: 20.05.2008 21:41
von edel
Was bekommst du als Ergebnis ?
Welche PB Version ?
Ist das Bild ueberhaupt da?

Verfasst: 20.05.2008 21:42
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.

Verfasst: 20.05.2008 21:43
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

Verfasst: 20.05.2008 21:48
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.

Verfasst: 20.05.2008 21:52
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?

Verfasst: 20.05.2008 21:58
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.

Verfasst: 20.05.2008 21:59
von ts-soft
Mit PB mitteln garnicht, aber die brauchste ja eigentlich nicht, das Handle
reicht doch, nur statt ImageID(bla) nur bla

Verfasst: 20.05.2008 22:00
von RSBasic
Okay danke Leute für eure Hilfe :)

Ihr seid ja mal wieder schnell :mrgreen: