Transparenz ändert Window-Style, warum?

Übersicht BlitzBasic BlitzPlus

Neue Antwort erstellen

FastJack

Betreff: Transparenz ändert Window-Style, warum?

BeitragMi, März 09, 2005 15:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,

ich habe ein kleines Problem. Mein Programm besteht aus zwei Fenstern. Eines davon besitzt vom Window-Style eine kleine Titelleiste. Doch sobal ich mit einer Funktion das Fenster transparent mache, ändert sich der Style in eine Standard-Titelleiste. Hier ein kleines Code-Beispiel:

Code: [AUSKLAPPEN]
Window1 = CreateWindow("Hauptfenster",200,200,300,200,MainProg,1)
Window2 = CreateWindow("Nebenfenster",200,400,300,200,MainProg,17)

;Fenster wird aktiviert...
ActivateGadget Window2
;Handle des aktiven Fensters wird in Variable gespeichert.
wnd = api_GetActiveWindow()

Button1 = CreateButton("Transparenz Ein",90,60,90,20,Window1,1)
Button2 = CreateButton("Transparenz Aus",90,80,90,20,Window1,1)

;Variable für die Transparenz
Global GWL_EXSTYLE = -20
Global Transparency = 0

;Hauptschleife
While Programm_ende = 0

   ;Fenster-Events
   Select WaitEvent()

      ;X schließt Fenster
      Case $803 : Programm_ende = 1
      
      ;Fenster wird verschoben
      Case $801         
         Select EventSource()
            ;Wenn Window1 verschoben wird Window2 mit verschoben
            Case Window1 : SetGadgetShape Window2, GadgetX(Window1), GadgetY(Window1)+GadgetHeight(Window1),GadgetWidth(Window2), GadgetHeight(Window2)
         End Select

      ;Button-Funktion
      Case $401
         Select EventSource()
            Case Button1 : SetWinTransparenz(wnd,150)
            Case Button2 : SetWinTransparenz(wnd,255)
         End Select

   End Select

Wend

;Funktion für Transparenz
Function SetWinTransparenz(WinHandle,Transparenz)
      
      api_SetWindowLong(WinHandle,GWL_EXSTYLE,$00080000)
      api_SetLayeredWindowAttributes(WinHandle,0,Transparenz,2)
   
End Function


Vielleicht kann mir ja jemand weiterhelfen.
Danke im voraus!

Jan_

Ehemaliger Admin

BeitragMi, März 09, 2005 15:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich nehme an, das ist in B+ nciht vorgesehen.
between angels and insects

simi

BeitragMi, März 09, 2005 17:42
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich denke, du musst auch das Flag für eine kleine Titelleiste wieder setzten....

FastJack

BeitragMi, März 09, 2005 19:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Ok, und wie mache ich das?
Ich habe schon mit den Parametern der Transparenz-Funktion rumgespielt, aber keinen Erfolg erzielt.

Neue Antwort erstellen


Übersicht BlitzBasic BlitzPlus

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group