Seite 1 von 8

Fenster Vista-like schließen

Verfasst: 04.10.2007 19:30
von Scarabol
Hi Leute,

hab heut bei einem Bekannten Vista gesehen und dachte mir:
"Wieso nennen die das !neues! Betriebssystem?"

Hier mal ein Effekt wie ihr die Fenster Vista-like schließen könnt.

Code: Alles auswählen

Procedure Vista_CloseWindow(win)
  Protected x, y, w, h, t, winid
  winid = WindowID(win)
  x = WindowX(win)
  y = WindowY(win)
  w = WindowWidth(win)
  h = WindowHeight(win)
  t = 255
  s = 255/15
  SetWindowLong_(winid,#GWL_EXSTYLE,GetWindowLong_(winid,#GWL_EXSTYLE)|#WS_EX_LAYERED)
  For i = 1 To 15
    Delay(30)
    ResizeWindow(win, x+w*0.01, y+h*0.01, w*0.99, h*0.99)
    x+w*0.005
    y+h*0.005
    w*0.99
    h*0.99
    t - s
    SetLayeredWindowAttributes_(winid,0,t,2)
  Next
  CloseWindow(win)
EndProcedure

OpenWindow(1, #PB_Ignore, #PB_Ignore, 400, 300, "test", #PB_Window_ScreenCentered|#PB_Window_SystemMenu)

Repeat
  Event = WaitWindowEvent()
Until Event = #PB_Event_CloseWindow
Vista_CloseWindow(1)
Gruß
Scarabol

Verfasst: 04.10.2007 19:54
von milan1612
Ich habs mal etwas flüssiger gemacht:

Code: Alles auswählen

Procedure Vista_CloseWindow(win)
  Protected x, y, w, h, t, winid
  winid = WindowID(win)
  x = WindowX(win)
  y = WindowY(win)
  w = WindowWidth(win)
  h = WindowHeight(win)
  t = 255
  s = 255/15
  SetWindowLong_(winid,#GWL_EXSTYLE,GetWindowLong_(winid,#GWL_EXSTYLE)|#WS_EX_LAYERED)
  LockWindowUpdate_(WindowID(win))
  For i = 1 To 15
    Delay(1)
    ResizeWindow(win, x+w*0.01, y+h*0.01, w*0.99, h*0.99)
    x+w*0.005
    y+h*0.005
    w*0.99
    h*0.99
    t - s
    SetLayeredWindowAttributes_(winid,0,t,2)
  Next
  CloseWindow(win)
EndProcedure

OpenWindow(1, #PB_Ignore, #PB_Ignore, 400, 300, "test", #PB_Window_ScreenCentered|#PB_Window_SystemMenu)

Repeat
  Event = WaitWindowEvent()
Until Event = #PB_Event_CloseWindow
Vista_CloseWindow(1) 

Verfasst: 04.10.2007 20:00
von X0r
:allright:

Verfasst: 04.10.2007 20:23
von Scarabol
@Milan
Die Idee ist nicht schlecht aber wieso solls flüssiger sein und man bekommt als Inhalt nur noch eine schwarze Fläche angezeigt....

[protz]
Mein Code is besser...
[/protz]

Gruß
Scarabol

Verfasst: 04.10.2007 20:25
von gekkonier
Schaut nett aus, danke!

Verfasst: 04.10.2007 20:52
von milan1612
Scarabol hat geschrieben:[protz]
Mein Code is besser...
[/protz]
Ich hab nie gesagt meiner (es ist ja eigentlich auch deiner) sei besser :?

Verfasst: 04.10.2007 21:41
von Scarabol
Schon ok, aber sagtest es würde flüssiger....wieso?

Gruß
Scarabol

Verfasst: 04.10.2007 22:00
von X0r
Milans läuft flüssiger.

Verfasst: 04.10.2007 22:09
von Scarabol
Wie?
Bei mir siehts gleich aus nur das ich bei Milan einen schwarzen Fensterinhalt hab?
Was meint ihr mit flüssiger?

Gruß
Scarabol

Verfasst: 04.10.2007 22:09
von gnasen
Scarabols: Beim schließen sind Streifen zu sehen, ähnlich wenn man zu schnell nen textgadget ändert.

Milan: Dort ist das ganze ohne Flimmern, aber das Fenster ist schwarz.

Ich wäre ja für eine Symbiose ;)