Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Auflösung / Bildschirmfläche per Software reduzieren (https://www.delphipraxis.net/73741-aufloesung-bildschirmflaeche-per-software-reduzieren.html)

Sebastian Nintemann 23. Jul 2006 11:44


Auflösung / Bildschirmfläche per Software reduzieren
 
Hallo zusammen!

Folgendes Problem: Ihr habt sicher schonmal von sogenannten "Volksbeamern" gehört. Ganu kurz für diejenigen, die sich nichts darunter vorstellen können: Das ist ein Overheadprojektor mit einem ausgebauten TFT-Panel oben drauf, damit hat man ein Gerät das einem hochwertigen Beamer Konkurenz machen kann, für einen Bruchteil des Preises, eine kostenlose Anleitung gibt's bei Tom's Hardware Guide.
Ich habe mir so ein Ding gebaut, und bin echt überwältigt von dem Ergebnis, super scharfes Bild bei 3 Metern und mehr Bilddiaginale.

Nun das Problem: Das verwendete Display ist leider etwas breiter als die Projektionsfläche des Projektors, das heißt es wird von dem Bild rechts und links ein schmaler Streifen "abgeschnitten". Beim Filme gucken fällt das nicht auf, nur im Windows-Betrieb stört es manchmal, wenn z.B. im MainMenu der Punkt "Datei" nicht sichtbar ist, oder die Bordericons teilweise verschwunden sind. Gibt es eine Möglichkeit, Windows zu sagen, es soll nur einen gewissen Teil der zur Verfügung stehenden Pixel verwenden? Unter normalem Betrieb hatte ich an Deskbars (heißen die so? Diese Leisten die sich wie die Startleiste verhalten) gedacht, die halten ja andere Fenster davon ab, sich darüber zu maximieren. Oder gibt es eine bessere Möglichkeit? Und wie sieht es mit Vollbild aus, also beispielsweise ein Mediaplayer, der ins Vollbild wechselt, der stört sich ja nicht an diesen Leisten, gibt es da eine Möglichkeit?

Viele Grüße,
Sebastian

marabu 23. Jul 2006 14:40

Re: Auflösung / Bildschirmfläche per Software reduzieren
 
Hallo Sebastian,

bei wohlerzogenen Programmen reicht es mitunter aus die screen workarea zu beschneiden, was allerdings keinen Einfluß auf AppBars hat:

Delphi-Quellcode:
var
  r: TRect;
begin
  r := Screen.WorkAreaRect;
  InflateRect(r, +40, +40);
  SystemParametersInfo(SPI_SETWORKAREA, 0, @r, SPIF_SENDCHANGE);
end;
Grüße vom marabu


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:26 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