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

Beitrag von Scarabol »

Hab ja nur gesagt das Flackern ist weg ;D

Flüssiger? Kommt noch... oder kauf dir nen Quad-Prozessor mit je einem Teraherz...

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 »

Und was bringen mir die 4 Kerne, wenn nur eins benutzt wird? Es liegt übrigens nicht am Prozessor.

Bei mir hats vorher auch nicht geflackert.
Zuletzt geändert von X0r am 05.10.2007 20:56, insgesamt 1-mal geändert.
Benutzeravatar
edel
Beiträge: 3667
Registriert: 28.07.2005 12:39
Computerausstattung: GameBoy
Kontaktdaten:

Beitrag von edel »

Bei einer CPU mit Teraherz können dir die anderen Kerne scheiss egal sein :lol:
Benutzeravatar
X0r
Beiträge: 2770
Registriert: 15.03.2007 21:47
Kontaktdaten:

Beitrag von X0r »

Yo, deswegen nicht unnötig Quadcore kaufen.

Übrigens auch meine Grafikkarte.
Edit:

Andere Variante vielleicht:

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) 
  DisableWindow(1,1)
  For i = 1 To 15 

    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 
End
EndProcedure 

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

Repeat 
  Event = WaitWindowEvent() 
  
  If Event=#PB_Event_CloseWindow
  CreateThread(@Vista_CloseWindow(),1)
  EndIf
ForEver
Kein Ruckeln und keine schwarze Box.
Benutzeravatar
Scarabol
Beiträge: 1427
Registriert: 30.11.2005 21:00

Beitrag von Scarabol »

@XOR
Ich hab die schwarze Box....?

Das Flackern liegt wohl an dem Layered, weil dieses Layer eben schwarz ist...

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 »

>Ich hab die schwarze Box....?

Nein, die hat Milan. Deins ruckelt nur.
Benutzeravatar
Scarabol
Beiträge: 1427
Registriert: 30.11.2005 21:00

Beitrag von Scarabol »

Bei deinem Code kommt bei mir ne schwarze Kiste...

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 »

Bei mir nicht.

Vielleicht sollte man das mal mit Animatewindow probieren.
Benutzeravatar
rolaf
Beiträge: 3843
Registriert: 10.03.2005 14:01

Beitrag von rolaf »

@Scarabol

Deine letzte Variante läuft bei mir bisher am besten von allen. :allright:

Müßte jetzt nur noch mehr Tempo bekommen...
:::: WIN 10 :: PB 5.73 :: (x64) ::::
Benutzeravatar
Scarabol
Beiträge: 1427
Registriert: 30.11.2005 21:00

Beitrag von Scarabol »

@Falo
Danke für die Blumen nur das Problem ist hier leider das man schon am Geschwindigkeitsmaximum ist :cry: , weil die SetLayeredWindowAttributes() sehr lange brauch um die Transparentz darzustellen, gerade weil das ganze 2 mal ausgeführt wird (einmal für schwarz (Layer) und einmal für das Fenster an sich)...

Ich werd jetzt wohl wieder zum Ursprung zurückkehren und dann erstma versuchen den Time Parameter richtig umzusetzen, die Flackern Geschichte scheint mir aussichtslos....Windows eben...

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

PB-V: 4
WinXP
Antworten