| |
|
|
Jac de Lad | Hallo,
ich hab ein programm geschrieben, dass andere Programme startet und mit FindWindow und SetParent ins eigene Fenster legt. Nun verschwindet da aber ab und zu was, mal wird das Hintergrundfenster sichtbar und so weiter. Kann man das irgendwie verhindern (außer mit Thread durch Thread.pcu und Repaint und so, das funktioniert, dass weiß ich, ist aber rechenlastig!)?
Jac |
|
|
| Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE) Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP | 04.02.2006 ▲ |
|
|
|
|
Michael Wodrich | andere Programme: sind das auch selbstgeschriebene?
Sonst könnte es ja sein, daß der Programmierer des anderen Programmes da irgendwelche Sachen aufruft, die nicht oder nicht richtig als Unter-Programm taugen. Auch könnte er auf ein RePaint verzichtet haben, weil es auch so funktioniert (wenn das Prog als Hauptprogramm läuft).
Das ist mit Fremdprogrammen leider immer so eine Sache. Viele Programmierer machen es den M$-Leuten nach: programmiere nur was absolut notwendig ist, (den|der) Rest wird (der|den) User schon richten.
Schöne Grüße Michael Wodrich |
|
|
| Programmieren, das spannendste Detektivspiel der Welt. | 04.02.2006 ▲ |
|
|
|
|
Jac de Lad | Ja, selbstgeschriebene Progs. Ich weiß, auch da könnte ich was unterbringen, aber ich dachte, das geht vielleicht einfacher...
Jac |
|
|
| Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE) Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP | 04.02.2006 ▲ |
|
|
|
|
Michael Wodrich | geht es, aber da braucht man mehr Kontrolle über das Message-Handling. Abfangen der Message %wmPaint und nur im Bedarfsfall (bei Anfrage) das Neuzeichnen ausführen. Lies Dir das Message-Handling Kapitel mal genau durch (speziell wmPaint). |
|
|
| Programmieren, das spannendste Detektivspiel der Welt. | 04.02.2006 ▲ |
|
|
|
|
Jac de Lad | Mach ich, danke Michael. Ich melde mich, wenn ich trotzdem nicht weiterkommen sollte!
Jac |
|
|
| Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE) Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP | 04.02.2006 ▲ |
|
|
|
|
Jac de Lad | Ok, ich habs mir angeschaut. Mein Problem ist aber, dass sich sobald das Hauptprog den Fokus verliert und andere Fenster über das Hauptprog wandern Darstellungsfehler auftreten. Ich hab da ne Idee, wie ich das hinkriegen könnte aber die ist auch nicht das Nonplusultra. Und ich muss es erst probieren. Jedenfalls wird (egal wie ich SetAutoPaint einstelle) kein wmPaint gesendet, wenn ich den Fokus verliere und ein Fenster darüberbewege. Weißt du was ich meine???
Jac |
|
|
| Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE) Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP | 05.02.2006 ▲ |
|
|
|
|
Jac de Lad | Also, ich habs jetzt mit GetActiveWindow gelöst. Mit einem Thread, der einmal pro Sekunde testet, d.h., dass nach spästens einer Sekunde aktualisiert wird und wenn das Fenster den Fokus nicht hat, naja, dann hats halt einige Darstellungsfehler. Jedenfalls, wenn das Hauptprog den Fokus zurückerhält wird wie gesagt ein Repaint durchgeführt.
Danke für die Hilfe!
Jac |
|
|
| Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE) Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP | 05.02.2006 ▲ |
|
|
|