AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Bildschirmauflösung

Ein Thema von Taladan · begonnen am 20. Aug 2003 · letzter Beitrag vom 20. Aug 2003
Antwort Antwort
Benutzerbild von Taladan
Taladan

Registriert seit: 5. Aug 2003
Ort: Osnabrück
505 Beiträge
 
Delphi 2005 Professional
 
#1

Bildschirmauflösung

  Alt 20. Aug 2003, 17:52
Mein Proggi ist für 800x600 programmiert. Bei höheren auflösungen sieht dies unschön aus, geschweige den, bei niedriegeren.

Meine Fragen dazu:
1. wie kann ich die Bildschirmauflösung des Users abfragen?
2. wie kann ich die bildschirmauflösung wenn > 800x600 zurückstellen
3. muß ich im fall zwei, auser eine warnung an den user mit ja/nein button etwas besonderes beachten?
Marco
  Mit Zitat antworten Zitat
Benutzerbild von Stanlay Hanks
Stanlay Hanks

Registriert seit: 1. Mär 2003
2.078 Beiträge
 
Delphi 2005 Professional
 
#2

Re: Bildschirmauflösung

  Alt 20. Aug 2003, 17:58
Hallo.

1) Die Bildschirmauflösung kriegst du von Screen.Width und Screen.Height. Das sind zwei globale Varibalen, die die Pixelanzahl für Breite und Höhe des Bildschirms als Integer angeben.
2) Würde ich nicht machen, da du
3) ja Panels etc verwenden kannst , um das etwas zu kompensieren.
Aber du könntest auch die Komponenten in deinem Programm beim Programmstart nach der Bildschirmauflösung ausrichten. Das wäre komfortabler, denn welcher User will schon seine Auflösung verändert haben.

Übrigens: Wenn du wirklich die Auflösung verändern willst, dann kümmere dich auch darum, dass bei Programmende alles wieder zurückgesetzt wird...

Aber wie man die Auflösung ändert, weiß ich grade auch nicht. Aber ich glaube, sowas hatten wir schonmal im Forum... (> Suche )

Man liest sich, Stanlay
  Mit Zitat antworten Zitat
Benutzerbild von hummer
hummer

Registriert seit: 27. Mai 2003
Ort: Hattingen
437 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Bildschirmauflösung

  Alt 20. Aug 2003, 17:58
Hallo Die aktuelle Bildschirmauflösung kann man so rausfinden

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  MessageDlg(Format('Screen Width = %d' + #13#10 + 'Screen Height = %d',
            [Screen.Width, Screen.Height]), mtInformation, [mbOK], 0);
end;
Manuel
unser Infolehrer -> Wissen ist Macht. Wir wissen nichts. Macht nichts.
  Mit Zitat antworten Zitat
Alexander

Registriert seit: 28. Aug 2002
Ort: Oldenburg
3.513 Beiträge
 
Turbo Delphi für .NET
 
#4

Re: Bildschirmauflösung

  Alt 20. Aug 2003, 18:04
Also darf ich dir raten, die Bildschirmauflösung bei normalen Anwendungen (bei größeren Vollbildspielen mag das, was anderes sein...) die Auflösung nicht zu ändern?

Benutze Panels etc und kuck dir mal die Eigenschaft Align an, damit die Anordnung der Komponenten bei verschiedenen Auflösung besser aussieht...

Nachtrag:
Sonst poste mal einen Screenshot deiner Anwendung, vielleicht kann man dir mit der Anordnung so besser helfen....(vielleicht bekommst du es ja auch alleine hin)
Alexander
  Mit Zitat antworten Zitat
Benutzerbild von overmoon
overmoon

Registriert seit: 8. Aug 2003
Ort: Passau
51 Beiträge
 
Delphi 6 Personal
 
#5

Re: Bildschirmauflösung

  Alt 20. Aug 2003, 20:36
Ansonsten kann man auch über "ScaleBy" die Komponenten einer VCL-Anwendung anpassen.
"Habe Mut, dich deines eigenen Verstandes zu bedienen." (Immanuel Kant)
  Mit Zitat antworten Zitat
THE MATRIX

Registriert seit: 26. Jul 2003
62 Beiträge
 
#6

Re: Bildschirmauflösung

  Alt 20. Aug 2003, 21:17
also du holst dir erstmal ALLE möglichen Desktop-größen
Delphi-Quellcode:
procedure Tmainsys.getdisplaymodes;
var
  ii : Integer;
  DevMode : TDevMode;
begin
  ii := 0;
  while EnumDisplaySettings(nil,ii,Devmode) do begin
    with Devmode do
      ListBox1.Items.Add(Format('%dx%d %d Colors',[dmPelsWidth,dmPelsHeight,1 shl dmBitsperPel]));
    Inc(ii);
  end;
end;
dann s.o. guckst halt welche momentan verwendet wird und kannst dann über
Delphi-Quellcode:
  
if Listbox1.items.count<>-1 then
 begin
  Listbox1.ItemIndex:=strtoint(tmpstr);
  EnumDisplaySettings(nil,Listbox1.ItemIndex,Devmode);
  if ChangeDisplaySettings(DevMode,0)= DISP_CHANGE_SUCCESSFUL then ShowMessage('Geändert'); end else showMessage('Sry ging nicht :D');
die sache ändern
§¤*~`~*¤§¤*~`~*¤§[* ((( THE MATRIX - Reloaded ))) ]§¤*~`~*¤§¤*~`~*¤§
  Mit Zitat antworten Zitat
Benutzerbild von Taladan
Taladan

Registriert seit: 5. Aug 2003
Ort: Osnabrück
505 Beiträge
 
Delphi 2005 Professional
 
#7

Re: Bildschirmauflösung

  Alt 20. Aug 2003, 23:19
Also die anwendung existiert zur zeit nur in meinen Kopf. Es soll aber schon eine etwas grafisch aufwendigere werden. (mit hintergrundbild, dynamischen images, und sogar hintergründen hinter listbox usw (ich weiß, ich werd wohl mich mit eigenen komponenten rumärgern mussen, und das als newbie).

Also im Stiel ungefähr so

Meine Homepage

D. H. schwarzer hintergrund, images und listboxen und teilweise andere elemente mit dem wie dort abgebildeten design von einen alten papier.
Gerne auch flammende Überschrift (leider hab ich keine ahnung wie ich DAS bewerkstellen soll, aber vielleicht hab ich ja noch ein geistesblitz)

da das design natürlich da sehr viel arbeit abverlangt, und das kopieren von design von form auf form nicht möglich ist, gibt es in delphi sowas wie dynamische anzeige (in html auch dynamisches html genannt), oder zumindest frames?
Marco
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 22:20 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