AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Merkwürdige zitternde Reskalierung einer Form nach abschalten von Zeichnen auf NC
Thema durchsuchen
Ansicht
Themen-Optionen

Merkwürdige zitternde Reskalierung einer Form nach abschalten von Zeichnen auf NC

Ein Thema von Memnarch · begonnen am 4. Mai 2013 · letzter Beitrag vom 13. Feb 2014
Antwort Antwort
Benutzerbild von Memnarch
Memnarch

Registriert seit: 24. Sep 2010
737 Beiträge
 
#1

AW: Merkwürdige zitternde Reskalierung einer Form nach abschalten von Zeichnen auf NC

  Alt 4. Mai 2013, 14:10
NEIN....Beim resizen hole ich mir die aktuellen werte(im NCSize event setze ich in meinem richtigen projekt auch eigene größen für den Client-Bereich etc).
Aber im NCPaint event zuckelts hinterher. Ich verstehe es nicht. Mehr als die größen kann ich mir nicht holen.
Da man Trunc nicht auf einen Integer anwenden kann, muss dieser zuerst in eine Float kopiert werden
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#2

AW: Merkwürdige zitternde Reskalierung einer Form nach abschalten von Zeichnen auf NC

  Alt 4. Mai 2013, 14:37
NCPaint schlägt fehl wenn du Aero aktiviert hast.. (Meine vermutung) da du auf einen nicht Clientbezogenen bereich versuchst zu Rendern.
Falls du es eingeschaltet hast mache es mal testweise aus und prüfe dann mal ob immer noch ein zittern stattfindet.
Wenn nicht dann hilft dir nur Unterer Ratschlag.

Was du versuchen könntest wäre mit DwmSetWindowAttribute die DWMNCRENDERINGPOLICY einzuschalten.
Etwas anderes fällt mir ansonsten jetzt auch nicht ein.

Schau mal hier DwmSetWindowAttribute

ändere mal GetDCEx nach GetWindowDC um.

gruss

Geändert von EWeiss ( 4. Mai 2013 um 14:45 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Memnarch
Memnarch

Registriert seit: 24. Sep 2010
737 Beiträge
 
#3

AW: Merkwürdige zitternde Reskalierung einer Form nach abschalten von Zeichnen auf NC

  Alt 4. Mai 2013, 19:13
Das mach ich doch schon(GetwindowDC). es geht darum das es zittert. Ich weiß nicht warum. DU sieht doch schon, nur dadurch das ich nichts zeichne zittert schon der fensterrand. Das macht keinen Sinn. Wenn du den ersten quelltext ausgeführt hätetst, wüsstest du des schon zittert, nur weil ich NCPaint blocke.
Ich schalte sogar das windowtheme ab(außerdem dwmsetattribute setzt die attribute global und gilt für alle desktopapplikationen. eher unschön)
Da man Trunc nicht auf einen Integer anwenden kann, muss dieser zuerst in eine Float kopiert werden
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#4

AW: Merkwürdige zitternde Reskalierung einer Form nach abschalten von Zeichnen auf NC

  Alt 5. Mai 2013, 10:25
Zitat:
Wenn du den ersten quelltext ausgeführt hätetst
Ich habe deinen Quelltext nicht ausgeführt!

Zitat:
Das mach ich doch schon(GetwindowDC).
LDC := GetDCEx(Handle, MSG
Ist hier aber nichts von zu sehen.

Zitat:
es geht darum das es zittert
Zitat:
und zuckelt beim Skalierne.
Du sagtest etwas von "beim Resitz!" >>Skalieren

Zitat:
außerdem dwmsetattribute setzt die attribute global
Nur für meine Anwendung denn schließlich Initialisiere ich die Library nur mit (für) meine Anwendung
und nicht Systemübergreifend.

Wenn ich meine Attribute setze habe ich noch nicht feststellen können das dies
irgendeinen einfluss auf andere Anwendungen hat.

Wenn es dich nervt das ich versuche zu helfen dann lass ich es besser.

gruss

Geändert von EWeiss ( 5. Mai 2013 um 10:49 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Memnarch
Memnarch

Registriert seit: 24. Sep 2010
737 Beiträge
 
#5

AW: Merkwürdige zitternde Reskalierung einer Form nach abschalten von Zeichnen auf NC

  Alt 5. Mai 2013, 11:49
Zitat:
Ich habe deinen Quelltext nicht ausgeführt!
Das ist dann etwas ungünstig. Das zweite beispiel ist extra so konstruiert, dass es den effekt mit einer minimalen konfiguration Zeigt. Der source oben ist NICHT aus meinem projekt. Lediglich eine hierfür gemachte konstruktion die sich an meinen Problemen entlanghangelt.
Im Source nutze ich bereits GetWindowDC. Das hat aber(außer das es schöner aufzurufen ist) keinen Unterschied erbracht.

Ich verstehe nicht, warum ich beim zeichnen anscheinend nicht korrekt Zeichne, und stattdessen hast du mir anfangs den HitTest kompletiert(was egal war). Das hat mich zugegeben angefressen. Es geht nur ums grafische.

Deswegen auch das zweite minimalistische Beispiel, welches das Problem(Verhalten) veranschaulichen sollte.

Also mit Skalieren ist Resizen gemeint.

EDIT: Bisher konnte ich zwar immernoch nicht rausfinden, woran es liegt. Allerdings sind mir inzwischen nen halbes dutzend Applikationen mit dem selben problem aufgefallen(i.e. Steam, Skype). Mh "schummelt" windows beim zeichnen? Weis es eher7mehr als die apllikation beim zeichnen?
Da man Trunc nicht auf einen Integer anwenden kann, muss dieser zuerst in eine Float kopiert werden

Geändert von Memnarch ( 5. Mai 2013 um 11:59 Uhr)
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#6

AW: Merkwürdige zitternde Reskalierung einer Form nach abschalten von Zeichnen auf NC

  Alt 5. Mai 2013, 12:09
Zitat:
Also mit Skalieren ist Resizen gemeint.
Habe ich schon verstanden.

Dein Minimal Beispiel hab ich ausgeführt bei mir zittert da nix weder beim Resitz noch im Stillstand.
Sorry kann das nicht nachvollziehen.

gruss
  Mit Zitat antworten Zitat
Benutzerbild von Memnarch
Memnarch

Registriert seit: 24. Sep 2010
737 Beiträge
 
#7

AW: Merkwürdige zitternde Reskalierung einer Form nach abschalten von Zeichnen auf NC

  Alt 5. Mai 2013, 15:11
Mh Okay.
Danke fürs testen. Muss ich dann mal weiter gucken.
Da man Trunc nicht auf einen Integer anwenden kann, muss dieser zuerst in eine Float kopiert werden
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:35 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz