Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > de.comp.lang.delphi.misc > #19111 > unrolled thread
| Started by | Matthias Hanft <mh@hanft.de> |
|---|---|
| First post | 2021-01-29 22:21 +0100 |
| Last post | 2021-02-02 15:39 +0100 |
| Articles | 7 — 3 participants |
Back to article view | Back to de.comp.lang.delphi.misc
´Windows-Task-Manager-Vorschau-Miniaturen Matthias Hanft <mh@hanft.de> - 2021-01-29 22:21 +0100
Re: ´Windows-Task-Manager-Vorschau-Miniaturen Ole Jansen <remove.this.kaspernasebaer@gmx.de> - 2021-02-01 09:09 +0100
Re: ´Windows-Task-Manager-Vorschau-Miniaturen Matthias Hanft <mh@hanft.de> - 2021-02-01 18:27 +0100
Re: ´Windows-Task-Manager-Vorschau-Miniaturen Ole Jansen <remove.this.kaspernasebaer@gmx.de> - 2021-02-02 09:01 +0100
Re: ´Windows-Task-Manager-Vorschau-Miniaturen Matthias Eißing <meissing@gmx.de> - 2021-02-02 12:48 +0100
Re: ´Windows-Task-Manager-Vorschau-Miniaturen Ole Jansen <remove.this.kaspernasebaer@gmx.de> - 2021-02-02 13:35 +0100
Re: ´Windows-Task-Manager-Vorschau-Miniaturen Matthias Hanft <mh@hanft.de> - 2021-02-02 15:39 +0100
| From | Matthias Hanft <mh@hanft.de> |
|---|---|
| Date | 2021-01-29 22:21 +0100 |
| Subject | ´Windows-Task-Manager-Vorschau-Miniaturen |
| Message-ID | <9a91abee-7a31-1d34-c62d-f38a06e9c43a@hanft.de> |
Hallo, vermutlich ist das eher eine Windows- als eine Delphi-Angelegenheit: Ich habe hier (m)ein Delphi-7-Programm mit einem Hauptfenster, das immer wieder mal (meist modale) andere Fenster anzeigt und dann wieder schließt. Wenn man eine Zeitlang mit dem Programm gearbeitet und derweil auch mehrere ganz andere Programme offen hat und dann immer wieder mit ALT-TAB zwischen den verschiedenen Programmen wechselt, sieht man, während man die ALT-Taste beim Tabben festhält, ja Miniaturansichten der gerade offenen Programme. Und da wird bei meinem Programm nicht etwa das gerade benutzte Fenster (oder das Hauptfenster) angezeigt, sondern ein ganz anderes Fenster - z.B. ein modales Fenster, das *irgendwann* mal offen war. Ist jetzt zwar nicht weltbewegend, aber zumindest Kategorie "unschön" - und bei anderen Programmen klappt das ja auch: Die zeigen ja u.U. sogar eine *bewegte* Miniatur des aktuellen Live-Bildschirms an. So viel Schnickschnack will ich ja gar nicht haben, aber wenn's z.B. eine Windows-API mit einem Call à la SetPreviewForm(Form.Handle) oder so gäbe, würde ich die gerne aufrufen, damit die Vorschau die gerade aktuelle Form anzeigt. Gibt's da was? Danke & Gruß Matthias.
[toc] | [next] | [standalone]
| From | Ole Jansen <remove.this.kaspernasebaer@gmx.de> |
|---|---|
| Date | 2021-02-01 09:09 +0100 |
| Message-ID | <i7pr98Fgmv5U1@mid.individual.net> |
| In reply to | #19111 |
Am 29.01.2021 um 22:21 schrieb Matthias Hanft: > Hallo, > > vermutlich ist das eher eine Windows- als eine Delphi-Angelegenheit: > > Ich habe hier (m)ein Delphi-7-Programm mit einem Hauptfenster, das > immer wieder mal (meist modale) andere Fenster anzeigt und dann > wieder schließt. Ist es eine "klassische" oder eine .NET Anwendung? Betrifft es nur die mit TAB angezeigte Vorschau oder auch die Thumbnail-Vorschau in der Taskleiste? O.J.
[toc] | [prev] | [next] | [standalone]
| From | Matthias Hanft <mh@hanft.de> |
|---|---|
| Date | 2021-02-01 18:27 +0100 |
| Message-ID | <cf8da2ec-5b3f-1e10-08a6-ed7e62c4bcc7@hanft.de> |
| In reply to | #19112 |
Ole Jansen schrieb: > > Ist es eine "klassische" oder eine .NET Anwendung? Ganz klassisch - eine ganz normale Forms-Anwendung ohne weitere Besonderheiten. > Betrifft es nur die mit TAB angezeigte Vorschau > oder auch die Thumbnail-Vorschau in der Taskleiste? Auch die Taskleiste (also wenn man mit der Maus drüber geht - oder meintest du was anderes?). *Die* beiden Bilder scheinen also übereinzustimmen. Im Moment wird gerade bei beiden die Miniatur einer modalen Form angezeigt, die ich irgendwann heute Vormittag mal offen hatte. Ah - *das* ist anscheinend das System: Für die Windows- Vorschauen wird für den *gesamten* Rest der Programmlaufzeit offenbar stets die *erste* vom Programm mit Form.Show oder Form.ShowModal angezeigte Form verwendet! Hilft das bei der Diagnose irgendwie weiter? Gruß Matthias.
[toc] | [prev] | [next] | [standalone]
| From | Ole Jansen <remove.this.kaspernasebaer@gmx.de> |
|---|---|
| Date | 2021-02-02 09:01 +0100 |
| Message-ID | <i7sf6jF1rncU1@mid.individual.net> |
| In reply to | #19113 |
Am 01.02.2021 um 18:27 schrieb Matthias Hanft:
> Ole Jansen schrieb:
>>
>> Ist es eine "klassische" oder eine .NET Anwendung?
>
> Ganz klassisch - eine ganz normale Forms-Anwendung ohne
> weitere Besonderheiten.
Also VCL.
>> Betrifft es nur die mit TAB angezeigte Vorschau
>> oder auch die Thumbnail-Vorschau in der Taskleiste?
>
> Auch die Taskleiste (also wenn man mit der Maus drüber
> geht - oder meintest du was anderes?). *Die* beiden Bilder
> scheinen also übereinzustimmen. Im Moment wird gerade bei
> beiden die Miniatur einer modalen Form angezeigt, die ich
> irgendwann heute Vormittag mal offen hatte.
Ist die Eigenschaft: Application.MainFormOnTaskbar := True;
gesetzt?
> Ah - *das* ist anscheinend das System: Für die Windows-
> Vorschauen wird für den *gesamten* Rest der Programmlaufzeit
> offenbar stets die *erste* vom Programm mit Form.Show oder
> Form.ShowModal angezeigte Form verwendet!
Um Windows zu bewegen die Thumbnail Ansicht neu zu zeichnen
muss das betreffende Formular zur zur Laufzeit erzeug und
ggf. freigegeben/zerstört werden. So z.B.
procedure TForm1.Button1Click(Sender: TObject);
begin
with SomeDialog.Create(Self) do
begin
PopupParent := Self;
ShowModal;
Release;
end;
end;
Du könntest z.B. auch DestroyWindow im modalen Formular
aufrufen wenn es geschlossen wird.
Embarcadero kann da nicht viel machen, fürchte ich?
> Hilft das bei der Diagnose irgendwie weiter?
Es wäre evtl. ein Workarround. Falls nach dem Schliessen des
Fensters noch auf Inhalte zugegriffen werden funktioniert
das natürlich nicht.
Weitere Verwirrungen kann es geben wenn die Applikation
Eigentümer oder Popup Parent ist und nicht das Hauptformular.
Dann werden die Dialoge in der Vorschau evtl. unter dem
Hauptfenster gezeichnet und Du siehst sie nicht.
Viele Grüße,
O.J.
[toc] | [prev] | [next] | [standalone]
| From | Matthias Eißing <meissing@gmx.de> |
|---|---|
| Date | 2021-02-02 12:48 +0100 |
| Message-ID | <rvbe6d$7d2$1@solani.org> |
| In reply to | #19114 |
Am 02.02.21 um 09:01 schrieb Ole Jansen: > Ist die Eigenschaft: Application.MainFormOnTaskbar := True; > gesetzt? Er schrieb von Delphi 7. NB: Die Delphi Community Edition ist kostenfrei für nicht/gering-kommerzielle Zwecke. https://www.embarcadero.com/de/products/delphi/starter -- cu://Matthias.Eißing.de
[toc] | [prev] | [next] | [standalone]
| From | Ole Jansen <remove.this.kaspernasebaer@gmx.de> |
|---|---|
| Date | 2021-02-02 13:35 +0100 |
| Message-ID | <i7sv7vF4tu8U2@mid.individual.net> |
| In reply to | #19115 |
Am 02.02.2021 um 12:48 schrieb Matthias Eißing: > Am 02.02.21 um 09:01 schrieb Ole Jansen: >> Ist die Eigenschaft: Application.MainFormOnTaskbar := True; >> gesetzt? > > Er schrieb von Delphi 7. > Uups, hatte das mit Delphi 2007 verwexelt...
[toc] | [prev] | [next] | [standalone]
| From | Matthias Hanft <mh@hanft.de> |
|---|---|
| Date | 2021-02-02 15:39 +0100 |
| Message-ID | <087743ea-bc29-89d2-7ddf-0456aedc3bb7@hanft.de> |
| In reply to | #19115 |
Matthias Eißing schrieb: > > NB: Die Delphi Community Edition ist kostenfrei für > nicht/gering-kommerzielle Zwecke. > https://www.embarcadero.com/de/products/delphi/starter Ja, hab ich gesehen. Da fall' ich nur leider (oder gottseidank, wie man's nimmt) nicht drunter (sondern arg drüber) :-) BDS 2006 hab ich damals noch gekauft, bin aber nie so richtig warm damit geworden. (Das kommt davon, wenn man mit der goldenen Regel bricht, dass nur *ungerade* Delphi-Versionen brauchbar sind.) Danach gabs (für mich) eigentlich keinen Grund, noch weiter upzu- graden, weil sogar mit D7 heute noch alles geht, was man braucht (bzw. was *ich* brauche). Der einzige Grund, ein aktuelles Delphi (oder wie es diese Woche heißt) neu zu kaufen, wäre nativer 64- Bit-Code für Windows *und* Linux (was mit der aktuellen Version ja anscheinend möglich ist). Aber das ist offenbar nur in der "Enterprise"-Version für 3.399 € drin (+999 € pro Jahr), und dafür ist mein Bedarf nicht groß genug, solange ich meine Projekte auch irgendwie anders lösen kann (und wenn's simple PHP-Skripte sind). Abgesehen davon würde es ja auch nicht in fünf Minuten funktio- nieren, D7-Code in ein aktuelles Delphi zu laden und zu glauben, dass man das 1:1 erzeugen kann (schon alleine wegen der irgendwann erfolgten ANSI/UTF8-Umstellung). > Ist die Eigenschaft: Application.MainFormOnTaskbar := True; > gesetzt? Macht die vielleicht nur irgendeinen KERNEL32.DLL-Aufruf? Den kann ich ja notfalls auch nachbauen. > Um Windows zu bewegen die Thumbnail Ansicht neu zu zeichnen > muss das betreffende Formular zur zur Laufzeit erzeug und > ggf. freigegeben/zerstört werden. So z.B. Ok, das könnte ich mal probieren. Aktuell lasse ich einfach alle Formulare automatisch erzeugen und mache dann nur ShowModal und sonst nix. Viel Aufwand wärs ja nicht, da noch ein Create/Destroy drumherum zu machen, wenn das hilft. Gruß Matthias.
[toc] | [prev] | [standalone]
Back to top | Article view | de.comp.lang.delphi.misc
csiph-web