Seite 1 von 2
images & buttons
Verfasst: 14.03.2005 14:59
von sobi
Hallo,
wie ist es möglich, auf (bzw. über) ein Bild ein Button zu setzen, so dass es anzuklicken und sichtbar ist?
Liebe Grüße,
Simon
Hier ein Codeschnipsel wie es nicht funktioniert, aber wo man besser erkennen kann, was ich meine.
Code: Alles auswählen
If OpenWindow(0,0,0,222,200,#PB_Window_SystemMenu|#PB_Window_ScreenCentered,"ButtonGadgets")
CreateGadgetList(WindowID(0))
ButtonGadget(1, 10, 10, 200, 20, "Standard Button")
CreateImage(5,150,200)
StartDrawing(ImageOutput())
Box(0,0,130,200,RGB(255,255,255))
StopDrawing()
ImageGadget(2,0,0,220,200,UseImage(5))
Repeat : Until WaitWindowEvent()=#PB_Event_CloseWindow
EndIf
Verfasst: 14.03.2005 15:18
von 125
Ungefähr so?

:
Verfasst: 14.03.2005 16:02
von sobi
125 hat geschrieben:Ungefähr so?

:
ne, nicht das ganze fenster soll anklickbar sein, sondern es soll über dem Bild ein Button sein, den ich anklicken kann. - ein Bild (mit createimage erstellt) und in dem selben bereich ein button (mit bottongadget erstellt)
In dem anderen Beispiel sieht man das m.E. ganz gut. Da ist noch ein bisschen von dem Button zu sehen (dann von dem schwarzen Hintergrund und dann von der weißen Box. - von rechts nach links)
Verfasst: 14.03.2005 16:08
von 125
Also bei mir ist der Button in deinem Beispiel auf dem ImageGadget.
Willst du das Fenster skinnen?
Dann guck dir das hier mal an:
http://www.purearea.net/pb/download/use ... _I_021.zip
Verfasst: 14.03.2005 17:59
von sobi
Hi, danke für deinen Ratschlag. Als erstes ne Frage: "was heißt skinnen?"
bei dem Beispiel von dir ist das ganze Bild ein Button. Was ich versuche ist, ein Bild zu zeichnen und darüber dann ein Button (oder ein Eingabefeld, eine Checkbox usw.) zu plazieren.
Verfasst: 14.03.2005 18:01
von 125
Skinnen bedeutet das du deinem Fenster ein Hintergrundbild gibst. Was du ja anscheind mit dem ImageGadget machen willst. In "Allgemein" wurden gerade 2 schöne Beispiele zu Hintergrundbildern gepostet worden. Ansonsten die PureTools dafür verwenden

Verfasst: 15.03.2005 00:19
von Helmut
Ich glaube er meint: ein Hintergrund mit einem Bild, darauf ein oder mehrere unterschiedlichsten Gadget oder Button, die werden sicher kleiner als das Hintergrundbild sein.
Ich könnte mir vorstellen das der Visual Designer was für ihn ist.
Da kann man es schön ausprobieren wie sowas aussieht.
Verfasst: 15.03.2005 08:13
von 125
Sobi meinst du das so?:
Code: Alles auswählen
If OpenWindow(0,0,0,222,200,#PB_Window_SystemMenu|#PB_Window_ScreenCentered,"ButtonGadgets")
CreateImage(5,150,200)
StartDrawing(ImageOutput())
Box(0,0,130,200,RGB(255,255,255))
StopDrawing()
Brush.LOGBRUSH\lbStyle=#BS_PATTERN
Brush\lbColor=#DIB_RGB_COLORS
Brush\lbHatch=UseImage(5)
SetClassLong_(WindowID(0),#GCL_HBRBACKGROUND,CreateBrushIndirect_(Brush))
InvalidateRect_(WindowID(0), #Null, #True)
CreateGadgetList(WindowID(0))
ButtonGadget(1, 10, 10, 200, 20, "Standard Button")
Repeat : Until WaitWindowEvent()=#PB_Event_CloseWindow
EndIf
Verfasst: 15.03.2005 12:51
von Kaeru Gaman
@sobi
in PB hab ich damit noch nicht rumexperimentiert,
aber windows-seitig gibt es die möglichkeit,
auch für images ereignisse wie mouseover und click abzufragen.
ich endeffekt ginge es darum, ein image wie ein button aussehen und sich benehmen zu lassen,
und auf den button ganz zu verzichten.
...ausserdem gibt es auch einen image-button...
Verfasst: 15.03.2005 13:35
von MacGyver
Oder so vieleicht ?
fenster :
Code: Alles auswählen
OpenWindow(0,0,0,640,480, #PB_Window_ScreenCentered | #PB_Window_BorderLess,"Test") And CreateGadgetList(WindowID(0))
ImageGadget(1,0,0,640,480,UseImage(#Hintergrund),#PB_Image_Border)
;------Knöpfe
buttons :
ButtonImageGadget(#IMG_exit,1,255,107,28,UseImage(#IMG_exit))
ButtonImageGadget(#IMG_info,1,185,107,28,UseImage(#IMG_info))
ButtonImageGadget(#IMG_start,1,150,107,28,UseImage(#IMG_start))
ButtonImageGadget(#IMG_menu,1,220,107,28,UseImage(#IMG_menu))
ButtonImageGadget(#IMG_page,1,290,107,28,UseImage(#IMG_page))
;------Tastenbelegung
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow : gosub aktion
Case #PB_Event_Gadget
Select EventGadgetID()
Case #IMG_exit
Select EventType()
Case = #PB_EventType_LeftClick : gosub aktion
EndSelect
Case #IMG_start
Select EventType()
Case = #PB_EventType_LeftClick : gosub aktion
EndSelect
Case #IMG_menu
Select EventType()
Case = #PB_EventType_LeftClick : gosub aktion
EndSelect
Case #IMG_info
Select EventType()
Case = #PB_EventType_LeftClick : gosub aktion
EndSelect
Case #IMG_page
Select EventType()
Case = #PB_EventType_LeftClick : gosub aktion
EndSelect
EndSelect
EndSelect
ForEver
Return
Vieleicht aber auch nicht *gggg*