Fenster Vista-like schließen

Hier könnt Ihr gute, von Euch geschriebene Codes posten. Sie müssen auf jeden Fall funktionieren und sollten möglichst effizient, elegant und beispielhaft oder einfach nur cool sein.
Benutzeravatar
Scarabol
Beiträge: 1427
Registriert: 30.11.2005 21:00

Fenster Vista-like schließen

Beitrag 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
Zuletzt geändert von Scarabol am 05.10.2007 22:33, insgesamt 4-mal geändert.
Abgeschlossen Projekte:
Schreibmaschine, Bildschirmlupe, Wings3DtoOgreMeshConverter
Watch: PureArea

PB-V: 4
WinXP
Benutzeravatar
milan1612
Beiträge: 810
Registriert: 15.04.2007 17:58

Beitrag 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) 
Bin nur noch sehr selten hier, bitte nur noch per PN kontaktieren
Benutzeravatar
X0r
Beiträge: 2770
Registriert: 15.03.2007 21:47
Kontaktdaten:

Beitrag von X0r »

:allright:
Benutzeravatar
Scarabol
Beiträge: 1427
Registriert: 30.11.2005 21:00

Beitrag 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
Abgeschlossen Projekte:
Schreibmaschine, Bildschirmlupe, Wings3DtoOgreMeshConverter
Watch: PureArea

PB-V: 4
WinXP
Benutzeravatar
gekkonier
Beiträge: 314
Registriert: 20.04.2007 09:06
Wohnort: Wien

Beitrag von gekkonier »

Schaut nett aus, danke!
Benutzeravatar
milan1612
Beiträge: 810
Registriert: 15.04.2007 17:58

Beitrag von milan1612 »

Scarabol hat geschrieben:[protz]
Mein Code is besser...
[/protz]
Ich hab nie gesagt meiner (es ist ja eigentlich auch deiner) sei besser :?
Bin nur noch sehr selten hier, bitte nur noch per PN kontaktieren
Benutzeravatar
Scarabol
Beiträge: 1427
Registriert: 30.11.2005 21:00

Beitrag von Scarabol »

Schon ok, aber sagtest es würde flüssiger....wieso?

Gruß
Scarabol
Abgeschlossen Projekte:
Schreibmaschine, Bildschirmlupe, Wings3DtoOgreMeshConverter
Watch: PureArea

PB-V: 4
WinXP
Benutzeravatar
X0r
Beiträge: 2770
Registriert: 15.03.2007 21:47
Kontaktdaten:

Beitrag von X0r »

Milans läuft flüssiger.
Benutzeravatar
Scarabol
Beiträge: 1427
Registriert: 30.11.2005 21:00

Beitrag 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
Abgeschlossen Projekte:
Schreibmaschine, Bildschirmlupe, Wings3DtoOgreMeshConverter
Watch: PureArea

PB-V: 4
WinXP
Benutzeravatar
gnasen
Beiträge: 578
Registriert: 01.08.2007 14:28
Computerausstattung: PB 4.60

Beitrag 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 ;)
Antworten