ButtonImageGadget Borderless + Mouseover-Effekt!

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
onny
Beiträge: 400
Registriert: 27.04.2005 17:50
Kontaktdaten:

ButtonImageGadget Borderless + Mouseover-Effekt!

Beitrag von onny »

Hallo, hatte dieses Problem schonmal mit ButtonImageGadget / Borderless.
Soweit bin ich gekommen:

Code: Alles auswählen

; www.purearea.net (Sourcecode collection by cnesm)
; Author:
; Date: 22. November 2003
; erweitert durch nen platten Knopf


Procedure.l MyImage(ImageNumber.l, Width.l, Height.l, Color.l)
  ImageID.l = CreateImage(ImageNumber, Width, Height)
  StartDrawing(ImageOutput())
  LoadImage(0,"bg.bmp")
  DrawImage(UseImage(0), 0, 0) 
  StopDrawing()
  ProcedureReturn ImageID
EndProcedure

#BS_FLAT=$8000
;
; Main starts here
;
If OpenWindow(0, 200, 200, 150, 100, #PB_Window_SystemMenu, "zZzzzZzZzZzzzZzzz")

  If CreateGadgetList(WindowID())
    ButtonImageGadget(105, 10, 10, 40, 20, MyImage(1,40,20,$0000FF))
    ButtonImageGadget(106, 60, 10, 40, 20, MyImage(2,40,20,$FF00BB))
    s.l=GetWindowLong_(GadgetID(106), #GWL_STYLE)
    SetWindowLong_(GadgetID(106), #GWL_STYLE, #BS_FLAT | s)
  EndIf

  Repeat
    Select WaitWindowEvent()
      Case #PB_EventCloseWindow : End
      Case #PB_EventGadget
        Select EventGadgetID()
          Case 105 ; Button 1
            SetGadgetState(106,MyImage(2,40,20,Random($FFFFFF)))
          Case 106 ; Button 2
          Debug hallo
        EndSelect
    EndSelect
  ForEver

EndIf 
Wie funktioniert jetzt ein MouseOver-Effekt? Jemand hatte hier schonmal einen guten Code gepostet, finde diesen aber nichtmehr :(
Benutzeravatar
DarkSoul
Beiträge: 689
Registriert: 19.10.2006 12:51

Beitrag von DarkSoul »

Heir ging es mal darum, auf ein image draufzumalen:

http://www.purebasic.fr/german/viewtopic.php?t=11333

aber das ist ja nur sache der anwendung, der weg ist weitgehend der gleiche (nur ohne die zeichenbeehle, wo du stattdessen dein event einfügst)
Bild
Benutzeravatar
onny
Beiträge: 400
Registriert: 27.04.2005 17:50
Kontaktdaten:

Beitrag von onny »

kompliziert :shock:
ich schau mal ob ichs hinbekomme....
Benutzeravatar
vonTurnundTaxis
Beiträge: 2130
Registriert: 06.10.2004 20:38
Wohnort: Bayreuth
Kontaktdaten:

Beitrag von vonTurnundTaxis »

Als ich noch Zeit für solche Spielereien übrig hatte, habe ich einfach ein Imagegadget genommen :wink:

Code: Alles auswählen

;Pseudocode

LoadImage(#normal, "button.png")
LoadImage(#hover, "button_hover.png")
LoadImage(#down, "button_down.png")

ImageGadget(#imagebuttongadget, ImageID(1))

If EventGadget() = #imagebuttongadget
   ;Gadgetbild je nach dem ändern und/oder Gadget als angeklickt melden
EndIf

Nicht durch Zorn, sondern durch Lachen tötet man
ClipGrab | Pastor - jetzt mit kurzen URLs!
Benutzeravatar
onny
Beiträge: 400
Registriert: 27.04.2005 17:50
Kontaktdaten:

Beitrag von onny »

omg, klaro, imagegadget tuts ja auch :o
Benutzeravatar
Criss
Beiträge: 126
Registriert: 21.09.2004 18:45
Kontaktdaten:

Beitrag von Criss »

Hier habe ich Dir auch noch was zum Thema:

HoverButtons
"Zu glauben, der Mensch sei Einschränkungen unterworfen, ist die grösste Illusion von allen." Robert Allan Monroe
Antworten