Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by HolgerX,
23. Mär 2019
Hmm..
Also, wenn ich meine D6 Applikation minimiere und dann wieder hochhole wird bei mir nur OnPaint aufgerufen, jedoch kein OnShow und somit kein AfterShow.
(Windows 8.1 64Bit auf Notebook)
Ich dachte es geht um OnActivate VOR OnShow?
Es sollte doch in der VM falsch sein...
Teste mal mit meinem Tool, ob auch dort AfterShow vor OnCreate kommt...
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by HolgerX,
23. Mär 2019
Hmm..
Kannst das Test-Tool ja mal gegen deine VMs testen und sehen, wann dort das 'AfterShow' kommt.
Eventuell eine bessere Alternative, wenn das OnActivate kommt, wann es will ;)
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by HolgerX,
23. Mär 2019
Hmm..
Hier mal ein einfaches Beispiel.
Ich habe hier noch kein abgeleitetes Formular mit eigenem OnAfterShow...
Aber per Postmessage kommt hier nach OnShow und OnPaint das AfterShow.
Starte das Tool mal und verkleinere das Formular.. dann wird OnPaint wiederholt aufgerufen.
Würde nun das Postmessage im OnPaint aufgerufen, dann würde auch das OnAfterShow immer wieder aufgerufen werden.
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by HolgerX,
23. Mär 2019
Hmm..
Hab doch geschrieben '.. das PostMessage im OnShow'!
Dadurch wird diese Message erst nach Abschluss des OnShow und auch OnPaint ausgeführt....
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by HolgerX,
23. Mär 2019
Hmm..
Wenn ich eine Behandlung brauche, welche erst ausgeführt wird wenn die Form sichtbar ist, dann mach ich das PostMessage im OnShow.
OnActivate habe ich bisher noch nicht verwendet.
Da OnPaint immer wieder aufgerufen wird, auch wenn nur ein Anderes Fenster kurz über das eigene gezogen wurde (es muss halt immer wieder neu gemalt werden), würde ich es nicht dort machen..