images & buttons

Anfängerfragen zum Programmieren mit PureBasic.
sobi
Beiträge: 170
Registriert: 05.02.2005 23:41
Wohnort: passau
Kontaktdaten:

images & buttons

Beitrag 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 
Sorgen sind wie Blumen, wenn man sie nicht gießt, gehen sie ein.
Benutzeravatar
125
Beiträge: 1322
Registriert: 19.09.2004 16:52
Wohnort: Neu Wulmstorf (Hamburg)
Kontaktdaten:

Beitrag von 125 »

Ungefähr so? :D:

Code: Alles auswählen

-Unten ist nen neuer Code-
Zuletzt geändert von 125 am 15.03.2005 08:18, insgesamt 1-mal geändert.
Bild
BildDas ist Tux. Kopiere Tux in deine Signatur und hilf ihm so auf seinem Weg zur Weltherrschaft.
sobi
Beiträge: 170
Registriert: 05.02.2005 23:41
Wohnort: passau
Kontaktdaten:

Beitrag von sobi »

125 hat geschrieben:Ungefähr so? :D:
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)
Sorgen sind wie Blumen, wenn man sie nicht gießt, gehen sie ein.
Benutzeravatar
125
Beiträge: 1322
Registriert: 19.09.2004 16:52
Wohnort: Neu Wulmstorf (Hamburg)
Kontaktdaten:

Beitrag 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
Bild
BildDas ist Tux. Kopiere Tux in deine Signatur und hilf ihm so auf seinem Weg zur Weltherrschaft.
sobi
Beiträge: 170
Registriert: 05.02.2005 23:41
Wohnort: passau
Kontaktdaten:

Beitrag 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.
Sorgen sind wie Blumen, wenn man sie nicht gießt, gehen sie ein.
Benutzeravatar
125
Beiträge: 1322
Registriert: 19.09.2004 16:52
Wohnort: Neu Wulmstorf (Hamburg)
Kontaktdaten:

Beitrag 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 :D
Bild
BildDas ist Tux. Kopiere Tux in deine Signatur und hilf ihm so auf seinem Weg zur Weltherrschaft.
Benutzeravatar
Helmut
Beiträge: 162
Registriert: 20.09.2004 22:53

Beitrag 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.
Benutzeravatar
125
Beiträge: 1322
Registriert: 19.09.2004 16:52
Wohnort: Neu Wulmstorf (Hamburg)
Kontaktdaten:

Beitrag 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
Bild
BildDas ist Tux. Kopiere Tux in deine Signatur und hilf ihm so auf seinem Weg zur Weltherrschaft.
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag 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...
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
MacGyver
Beiträge: 32
Registriert: 16.02.2005 16:35
Wohnort: Hinterm Proxy Links
Kontaktdaten:

Beitrag 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*
"Reallife ist da, wo der Pizzamann her kommt" [6IR]_Rockmaster
www.pure-army.de.vu
Antworten