Flackern bei Neuzeichnen (Kann mir mal bitte jmd helfen?)

Für allgemeine Fragen zur Programmierung mit PureBasic.
Mereep
Beiträge: 72
Registriert: 01.09.2004 18:55
Wohnort: Annaberg-Buchholz

Flackern bei Neuzeichnen (Kann mir mal bitte jmd helfen?)

Beitrag von Mereep »

Hallo Leute ^^
Hab mich seit langem mal wieder ein wenig ans programmieren gesetzt und mir mal wieder nen alten Code aufgegriffen...
Allerdings stand ich dann wieder vor dem selben Problem wie damals, wofür ich auch da noch keine Lösung gefunden hatte...
Deshalb meine Frage:
Kann sich jemand mal das folgende Prog anschauen und mir sagen, wie ich das hinbekomme, dass die Resizingecken beim verschieben des Gadgets wieder gelöscht werden, ohne das gesamte Fenster neu zeichnen zu müssen...
Achtung: Das Ding is sicher noch sehr(!) buggy, hab ja auch mitten in der Entwicklung aufgehört , damals...
bin grade selbst dabei, den Code wieder nachvollziehen zu können -.-'
Also, hier Link: http://home.pages.at/mereep/VisualDesigner.rar
Wäre nett, wenn das mal einer machn könnte...
Print("Hallo Welt")
Mereep
Beiträge: 72
Registriert: 01.09.2004 18:55
Wohnort: Annaberg-Buchholz

Beitrag von Mereep »

niemand da, der sich das mal anschauen kann?
Print("Hallo Welt")
Benutzeravatar
Lukas-P
Beiträge: 262
Registriert: 07.10.2004 12:03

Beitrag von Lukas-P »

Ich guck mir das ma an.. kann aber noch ne zeit lang dauern :wink:
Mereep
Beiträge: 72
Registriert: 01.09.2004 18:55
Wohnort: Annaberg-Buchholz

Beitrag von Mereep »

Joa, kein Prob, is sicher nur nen einfacher command, den ich net kenn und net find -.-'
Musst ja net den ganzen Text verstehen, geht ja nur um die eine Stelle...

GreeZ Mereep
Print("Hallo Welt")
Benutzeravatar
Danilo
-= Anfänger =-
Beiträge: 2284
Registriert: 29.08.2004 03:07

Re: Kann mir mal bitte jmd helfen?

Beitrag von Danilo »

Mereep hat geschrieben:und mir sagen, wie ich das hinbekomme, dass die Resizingecken
beim verschieben des Gadgets wieder gelöscht werden, ohne
das gesamte Fenster neu zeichnen zu müssen...
Ich habe es mir nicht angeschaut, aber ich denke mal Du
meinst ein Problem mit flickern der Gadgets, oder?

Wenn Du ein Hauptfenster updatest mit:

Code: Alles auswählen

InvalidateRect_(hWnd,0,1)
UpdateWindow_(hWnd)
...dann wird das Fenster inkl. Hintergrund neu gezeichnet -
und dabei flickern oftmals die ganzen Gadgets auf dem
Fenster, da diese auch neu gezeichnet werden.

Um das zu vermeiden mußt Du beim erstellen des Haupt-
fensters einfach den Style #WS_CLIPCHILDREN mit hinzufügen.
Danach wird nur das Fenster neue gezeichnet und die Gadgets
bleiben dabei ganz cool... ;)

Falls das nicht Dein Problem ist: sorry.
cya,
...Danilo
"Ein Genie besteht zu 10% aus Inspiration und zu 90% aus Transpiration" - Max Planck
Benutzeravatar
redacid
Beiträge: 581
Registriert: 29.08.2004 17:06

Beitrag von redacid »

Bitte aussagekräftigere Überschrift wählen, die annäherungsweise dein Problem beschreibt!
Mereep
Beiträge: 72
Registriert: 01.09.2004 18:55
Wohnort: Annaberg-Buchholz

Beitrag von Mereep »

@Danilo:
Du scheinst hellsehen zu können ^^
Eine Zeile, hätte mir Stundenlange vergebene Arbeit gespart -.-'
SetWindowLong_(Handle,#GWL_STYLE,GetWindowLong_(Handle,#GWL_STYLE)|#WS_CLIPCHILDREN)
Das is leicht frustrierend ^^
Naja, besser spät als nie...
so far
Thx :allright:
Print("Hallo Welt")
Mereep
Beiträge: 72
Registriert: 01.09.2004 18:55
Wohnort: Annaberg-Buchholz

Beitrag von Mereep »

@redacid
Kannst closen, wennde willst , is damit geklärt...
auch nochmal Dank an Lukas-P
(Kannst dir aber jezze sparen den Code durchzuwühlen ^^)

GreeZ Mereep
Print("Hallo Welt")
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag von DarkDragon »

Mereep hat geschrieben:@redacid
Kannst closen, wennde willst , is damit geklärt...
auch nochmal Dank an Lukas-P
(Kannst dir aber jezze sparen den Code durchzuwühlen ^^)

GreeZ Mereep
Warum sollte man dies schließen :? vielleicht haben auch noch andere ne Frage dazu in nen paar Sekunden/Minuten/Stunden/Tage/Wochen/Monate/Jahre. Dann müssten die ja einen neuen Topic aufmachen. Außerdem gibts ne Editfunktion.
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Mereep
Beiträge: 72
Registriert: 01.09.2004 18:55
Wohnort: Annaberg-Buchholz

Beitrag von Mereep »

Kann sein, dass hier einige zu viel lange weile ham? :?
Ich glaub, es stirbt keiner dran, wennsch mal nich die editfunktion benutze...außerdem war das mit dem closeing nur ein Vorschlag
meinerseits, was du da machst ist genau genommen Spam, aber egal, bevor ich jezze hier nen Streit auslöse, das hier is ja auch nich mehr topic(und, siehste, wenn das jezze geschlossen wäre, hättest du nicht gepostet und ich nich gepostet, 2 sinnlose Posts gespart...)

Also Thema geklärt und bitte keine offtopic-posts mehr hier drinnen, close währe immernoch angebracht /:->
Print("Hallo Welt")
Antworten