AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Programm an Bildschirmauflösung anpassen
Thema durchsuchen
Ansicht
Themen-Optionen

Programm an Bildschirmauflösung anpassen

Ein Thema von MiniMax · begonnen am 22. Aug 2010 · letzter Beitrag vom 28. Feb 2012
Antwort Antwort
MiniMax

Registriert seit: 15. Dez 2009
Ort: Bremen
193 Beiträge
 
Delphi 2009 Architect
 
#1

Programm an Bildschirmauflösung anpassen

  Alt 22. Aug 2010, 14:06
Moin Zusammen,
ich habe folgendes Problem: Ich programmiere meine Software auf einem Rechner mit 1440 x 900 pixel Auflösung. wenn ich das programm auf anderen Rechnern Starten möchte (mit einer anderen auflösung), wir alles verzerrt und schief angezteigt.
Nun habe ich es Bereits mit mehreren Codes probiert, die alle nicht den erwünschten erfolg brachten mal fehlte hier was und mal dort was (z.b. Buttons) oder manches wurde garnet erst skaliert (twebbrowser).
Ich hoffe dass ihr einen Code habt mit dem dies Automatisch passiert! Ich bitte um eure Hilfe

euer MiniMax

Hier mal alle drei Codes dienet funken

Delphi-Quellcode:
procedure TForm1.MaximizeAndScale;
var
  sWidth: Double;
  sHeight: Double;
begin
  sWidth := Screen.MonitorFromWindow(Handle).Width / Width;
  sHeight := Screen.MonitorFromWindow(Handle).Height / Height;
  if sWidth < sHeight then
  begin
    ScaleBy(Round(Screen.MonitorFromWindow(Handle).Width * 1.02), Width);
  end
  else
  begin
    ScaleBy(Round(Screen.MonitorFromWindow(Handle).Height * 1.02), Height);
  end;
  //WindowState := wsMaximized;
end;




procedure TForm1.scaleform;
const breite=1440; {Auflösung, unter der das Fenster erstellt wurde}
  hoehe=900;
var schrift: integer;
begin
  schrift := pixelsperinch-96;
  if screen.width>breite then begin
    if schrift>0 then
      {für große Schriften}
      ScaleBy(round(((screen.width/breite)*100)-((screen.width/breite-1)*100)),100)
    else
      {für kleine Schriften}
      ScaleBy(round(((screen.width/breite)*100)),100);
  end
else begin
    if screen.width=breite then
      ScaleBy(round(((screen.width/breite)*100)-schrift),100)
    else begin
      if schrift>0 then
        {für große Schriften}
        ScaleBy(round((100-(breite/screen.width-1)*100)-(breite/screen.width-1)*100),100)
      else
        {für kleine Schriften}
        ScaleBy(round((100-(breite/screen.width-1)*100)),100);
    end;
  end;
  WindowState := wsMaximized;
end;


procedure tform1.ScaleForme;
const
   screenwidthdev = 1440; // Einstellungen auf dem Entwicklungsrechner
   screenheightdev = 900; // dito
var
   x,y:integer;

begin
   //scaled := true;
   x:= Screen.width;
   y:= Screen.Height;
   if(y <> ScreenHeightDev) or (x <> ScreenwidthDev) then
     begin
        Form1.Height := (Form1.ClientHeight* y div ScreenHeightDev) +
                                Form1.Height- Form1.ClientHeight;
        Form1.Width := (Form1.ClientWidth * x div ScreenWidthDev) +
                                Form1.Height - Form1.ClientHeight;
        begin
        form1.ScaleBy(x,Screenwidthdev);
     end;
     end;
end;
Gruß
MiniMax
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#2

AW: Programm an Bildschirmauflösung anpassen

  Alt 22. Aug 2010, 14:28
Objectinspector: Alignment, Anchors?
  Mit Zitat antworten Zitat
MiniMax

Registriert seit: 15. Dez 2009
Ort: Bremen
193 Beiträge
 
Delphi 2009 Architect
 
#3

AW: Programm an Bildschirmauflösung anpassen

  Alt 22. Aug 2010, 16:04
Hi ja aber geht das dann? Also mit jeder Auflösung? Und nicht beim Größer Ziehen?
Gruß
MiniMax
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#4

AW: Programm an Bildschirmauflösung anpassen

  Alt 22. Aug 2010, 16:13
Du schreibst das alles verzerrt und schief ist. Was erwartest du? Das ist jetzt nicht als kritik gedacht aber bevor man dir eine Lösung präsentieren kann musst du selbst auch wissen (und uns mitteilen) wie du es haben willst. Wenn man die Ausmaße von etwas verändert, ändert sich nunmal die Größe.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
MiniMax

Registriert seit: 15. Dez 2009
Ort: Bremen
193 Beiträge
 
Delphi 2009 Architect
 
#5

AW: Programm an Bildschirmauflösung anpassen

  Alt 22. Aug 2010, 16:36
Also ich habe mein Programm auf einen destop Pc mit 1440x900 geschreiben. Aber wenn ich es auf meinem Netbook starte ist alles viel zu groß da der auf 600x800 läuft! Wenn ich jetzt die geposteten Codes nehme, verschwinden die Buttons unter dem Webbrowser! Darum ist meine Frage ein bissel verwirrend
Gruß
MiniMax
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#6

AW: Programm an Bildschirmauflösung anpassen

  Alt 22. Aug 2010, 16:46
Mach doch mal einen Screenshot von deiner Form, dann können wir sehen was du da für Elemente hast.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:29 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz