MaxGUI-Fenster für Vista transparent machen

Übersicht BlitzMax, BlitzMax NG Allgemein

Neue Antwort erstellen

 

ChristianK

Betreff: MaxGUI-Fenster für Vista transparent machen

BeitragFr, März 30, 2007 17:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Ist es möglich, Teile eines Fensters transparent zu machen, damit es so aussieht, wie zum Beisipiel der Dialog zum Hinzufügen von Minianwendungen auf der Windows Sidebar?
 

E. Urbach

ehemals "Basicprogger"

BeitragSa, März 31, 2007 9:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:
Ist es möglich, Teile eines Fensters transparent zu machen

Mit reinen, portablen MaxGUI-Befehlen:
Nein.

Korrigiert mich, wenn es falsch ist, aber bei mir funktioniert SetGadgetAlpha unter Vista und XP nicht.
The box said, "Requires Windows XP or better", so I installed Ubuntu | Linux is NOT Windows
Flua :: Profiler für BB und BMax :: Partikel-Engine für BMax :: Lyphia-Projekt Quellcode (BMax) :: Automatische Parallelisierung :: Meine Musik

Blitzcoder

Newsposter

BeitragSa, März 31, 2007 11:20
Antworten mit Zitat
Benutzer-Profile anzeigen
Er meit denke ich die tolle Aero Oberfläche mit ihren Transperenzen. Das kann MaxGUI auf keinen Fall. Ich bin gerade nicht zu Hause, ich gucke nachher mal, vielleicht gehts per WinAPI ohne allzugrossen Aufwand.
P4 3 Ghz@3,55Ghz|GF 6600GT 256MB|Samsung 80GB | 2x Samsung 160GB|2048MB DDR-400 RAM|6 Mbit Flatrate | Logitech G15 | Samsung 225BW-TFT | Ubuntu Gutsy Linux | Windows Vista | Desktop | Blog | CollIDE | Worklog
________________
|°°°°°°°°°°°°°°||'""|""\__,_
|______________ ||__ |__|__ |)
|(@) |(@)"""**|(@)(@)****|(@)

d-bug

BeitragSa, März 31, 2007 12:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Hm, bin mir nicht sicher ob das bei Vista auch funktioniert, aber um die das Fenster bei XP komplett transparent zu gestalten kann man folgendes machen...

Code: [AUSKLAPPEN]
Extern "Win32"
   Function SetLayeredWindowAttributes(hwnd:Int, crKey:Int, bAlpha:Int, dwFlags:Int)"win32"
   Function SetWindowLong(hwnd:Int,nIndex:Int,dwNewLong:Int)"win32" = "SetWindowLongA@12"
End Extern


Function SetWindowTrans (gadget:TGadget, Transparenz:Int=255)
   ?Win32
      Local hwnd:Int = QueryGadget(gadget,QUERY_HWND)
      SetWindowLong(hwnd,-20,$80000)
      SetLayeredWindowAttributes(hwnd,0,Transparenz,2)
   ?
End Function


Wie gesagt, es ist wohl nicht wirklich das was du haben willst, denke ich.
Wie sieht es denn mit einem Manifest aus? Funktioniert das denn nicht?

cheers
 

ChristianK

BeitragSa, März 31, 2007 14:43
Antworten mit Zitat
Benutzer-Profile anzeigen
@d-bug, das funktioniert auch unter Vista. Aber das ist leider nicht ganz das, was ich meine. Auch mit Manifest funktionierts nicht. Sad

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group