ButtonImageGadget transparent machen

Anfängerfragen zum Programmieren mit PureBasic.
enigma
Beiträge: 52
Registriert: 13.09.2011 13:52

ButtonImageGadget transparent machen

Beitrag von enigma »

Hallo,
ist es möglich ein ButtonImageGadget transparent zu machen so das nur das Image sichtbar ist?
Es würde mir auch reichen wenn das Gadget randlos wäre.

Gruß
Enigma
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

Re: ButtonImageGadget transparent machen

Beitrag von ts-soft »

Warum nimmste dafür nicht einfach ein CanvasGadget?
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:

Re: ButtonImageGadget transparent machen

Beitrag von RSBasic »

Code: Alles auswählen

EnableExplicit

Define EventID

CreateImage(1, 50, 50, 24, RGB(100, 200, 255))

If OpenWindow(0, 0, 0, 500, 400, "Window", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
  ButtonImageGadget(1, 50, 50, 60, 60, ImageID(1), #BS_OWNERDRAW)
  
  Repeat
    EventID = WaitWindowEvent()
    If EventID = #PB_Event_Gadget
      Select EventGadget()
        Case 1
          Debug "Klick"
      EndSelect
    EndIf
    If EventID = #PB_Event_CloseWindow
      End
    EndIf
  ForEver
EndIf
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
enigma
Beiträge: 52
Registriert: 13.09.2011 13:52

Re: ButtonImageGadget transparent machen

Beitrag von enigma »

Besten Dank!

@ts-soft
zur Not wäre das eine Lösung gewesen, aber der rahmenlose Button gefällt mir besser.

@RSBasic
woher weiß man sowas wie "#BS_OWNERDRAW"?

Gruß
Enigma
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: ButtonImageGadget transparent machen

Beitrag von RSBasic »

@enigma
#BS_OWNERDRAW ist eine WinAPI-Konstante.
ButtonImageGadget() ist bei WinAPI ein ganz normaler Button und da gibt es Styles, die du verwenden kannst: http://msdn.microsoft.com/en-us/library ... 85%29.aspx
Auf der von mir verlinkten Seite gibt es auch eine Beschreibung zu BS_OWNERDRAW. Damit kannst du einen eigenen Button erstellen ohne Standard-Style (kein Rahmen und kein Hintergrund) des Buttons.
Das bedeutet aber auch, dass deine Anwendung ausschließlich unter Windows läuft, wenn du WinAPI-Konstanten/-Funktionen/-Strukturen verwendest.
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
enigma
Beiträge: 52
Registriert: 13.09.2011 13:52

Re: ButtonImageGadget transparent machen

Beitrag von enigma »

@RSBasic
Danke für den Super-Link!

Gruß
Enigma
Antworten