Mit Screen.DesktopHeight und Screen.DesktopWidth, kann ich die Größe des "virtuellen" Desktops und ich glaube, dass funktioniert für einen oder mehrere Monitore.Wie bekomme ich die nutzbaren Koordinaten des Bildschirms in Delphi
Ich speichere die Position (oben und links) und Größe (Höhe und Breite) meiner Anwendung in die Registrierung, wenn es geschlossen wird. Wenn es geöffnet wird, möchte ich sicherstellen, dass es vollständig sichtbar ist, da es möglicherweise teilweise außerhalb des sichtbaren Bereichs verschoben wurde oder dass sich die Bildschirmgröße beispielsweise über Bildschirmeinstellungen oder das Entfernen eines Monitors geändert hat.
kann ich es im Grunde mit diesem Code:
if MyForm.Width > screen.DesktopWidth then
MyForm.Width := screen.DesktopWidth;
if MyForm.Height > screen.DesktopHeight then
MyForm.Height := screen.DesktopHeight;
if (MyForm.Left + MyForm.Width) > screen.DesktopWidth then
MyForm.Left := screen.DesktopWidth - MyForm.Width;
if MyForm.Left < 0 then MyForm.Left := 0;
if (MyForm.Top + LogoAppForm.Height) > screen.DesktopHeight then
MyForm.Top := screen.DesktopHeight - LogoAppForm.Height;
if MyForm.Top < 0 then MyFormTop := 0;
Diese Ordnung funktioniert, außer es berücksichtigt nicht nehmen Sie die Taskleiste, die in der Regel (aber nicht immer) am unteren Rand des Desktops. Wenn also die Taskleiste dem Fenster meiner Anwendung im Weg steht, wird meine Anwendung verdeckt.
Wie kann ich die nutzbare Position und Größe Einstellungen des Bildschirms, die die Position der Taskleiste ausschließen?
Danke für den Tipp. Du gibst keine Details darüber, wie das geht, also muss ich alles ausarbeiten ... aber es ist die richtige Idee. – lkessler