Beste Einstellung für Hauptform
Hallo zusammen,
ich habe in der Hauptform folgendes eingestellt: - WindowState := wsMaximized - BorderStyle := bsSizeable - Position := poScreenCenter Wenn nun ein Anwender die Taskleiste auf "immer im Vordergrund halten" gestellt hat, verschwindet der untere Teil meiner Hauptform hinter der Taskleiste. Wie kann man die Hauptform so einstellen, dass meine Anwendung über der Taskleiste aufhört ? Gruss Holger |
Re: Beste Einstellung für Hauptform
Hmm, welche Bordericons hast du denn noch?
Sherlock |
Re: Beste Einstellung für Hauptform
Vielleicht so (WindowState auf wsNormal)?
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var R: TRect; begin SystemParametersInfo(SPI_GETWORKAREA,0,@R,0); //ggf. das "@" weglassen, unter Delphi 5 nötig SetBounds(R.Left,R.Top,R.Right - R.Left,R.Bottom - R.Top); end; |
Re: Beste Einstellung für Hauptform
Ich kann das geschilderte Verhalten nicht nachvollziehen. Wenn ich auf das maximieren Symbol klicke und der Rest wie beschrieben eingestellt ist wird das Fenster nur so groß wie die Workarea ist.
|
Re: Beste Einstellung für Hauptform
Das passiert nicht wenn man von Hand maximiert, sondern maximiert startet. Ich kenne das auch. Ich habe das bisher umgangen, indem ich die Workarea (Screen.WorkareaHeight) ermittelte, und das Fenster daran anpasste.
Sherlock |
Re: Beste Einstellung für Hauptform
Hallo,
anderer Vorschalg: Schau Dir mal Regforms von der Delphi-Super-Page an, die Komponente wird einfach auf's Formular gelegt und merkt sich beim Schließen des Formulars die Position, Breite und Höhe. Beim Öffnen des Formulars werden diese Werte wieder hergestellt. Gespeichert wird entweder in einer INI oder der Registry. D. H.: Der Anwender kann (muss) einmalig die Formulare "zurechtschieben" und hat dann immer "seine" Einstellungen. Vorteil, Du musst Dir keine Gedanken über die Formularposition und -größe machen und der Anwender muss sich das beim Programmstart wieder alles so hinschibbeln, wie er das möchte. Die Formularposition setzt Du auf poDesigned und wählst bei der Entwicklung für Höhe und Breite Werte, bei denen Du erstmal davon ausgehen kannst, dass das im Wesenlichen auf alle Bildschirme passen, unabhängig von der Position und Größe der Taskbar. |
Re: Beste Einstellung für Hauptform
Danke schon mal.
Habe nun festgestellt, wenn ich die Form auf fsnormal stelle, den Code von DeddyH nutze und nach starten der Anwendung manuell maximiere klappt es. Wie kann ich abfragen, ob die Taskleiste auf "immer im Vordergrund halten" gestellt ist? Dann würde ich beim starten der Anwendung die Hauptform daraufhin einstellen. Mache es nun so -> Stelle Form auf fsnormal + Code von DeddyH und beim Starten der Form setze ich WindowsState auf wsMaximized, so klappt es dann immer, egal ob die Taskleiste im Vordergrund ist, oder nicht. Gruss Holger |
Re: Beste Einstellung für Hauptform
Wenn es dir nicht auf
Delphi-Quellcode:
ankommt, klappt es auch mit
Position := poScreenCenter;
Delphi-Quellcode:
Das ist ein Problem, was seit XP auftritt. Wenn man bei Darstellung auf Windows-Klassisch schaltet gibt es auch keine Auswirkungen.
Position := poDesktopCenter;
Die o.g. Änderung hat sonst auch nur Auswirkungen bei mehreren Bildschirmen. |
Re: Beste Einstellung für Hauptform
Das mit dem DesktopCenter ist sogar noch besser. Wo genau soll da überhaupt der unterschied sein ?
|
Re: Beste Einstellung für Hauptform
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:54 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz