AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Size-Constraints eines fremden Fensters setzen
Thema durchsuchen
Ansicht
Themen-Optionen

Size-Constraints eines fremden Fensters setzen

Ein Thema von worker · begonnen am 3. Apr 2009 · letzter Beitrag vom 5. Apr 2009
Antwort Antwort
worker
(Gast)

n/a Beiträge
 
#1

Size-Constraints eines fremden Fensters setzen

  Alt 3. Apr 2009, 09:27
Folgende Situation:

Ich habe ein Spiel, das leider keine notebookfreundlichen Auflösungen unterstützt.
Wenn ich im Vollbildmodus spiele, dann wird alles verzerrt, da das Bild auseinandergezogen wird.
Spiele ich im Fenstermodus, so ist das Fenster viel zu klein für meine Auflöung, um irgendetwas ordentlich erkennen zu können und die Größe des Fensters lässt sich leider nicht ändern.

Meine Idee ist nun, das Fenster resizeable zu machen, damit ich es mir so groß ziehen kann, dass sich etwas erkennen lässt. Mit den Rändern links und rechts muss ich dann halt leben.

Zuerst will ich prüfen, ob das Unterbinden der Größenänderung per Constraints gelöst ist.

Testweise habe ich es erstmal mit einer normalen Delphi-Form versucht, um zu sehen, ob es überhaupt möglich ist, gesetzte Constraints zu umgehen.

Ich habe dazu eine DLL in den Prozess meiner Testanwendung injiziert und reagiere auf die WM_GETMINMAXINFO.

Die Constraints sind mit 500x500 gesetzt.
Delphi-Quellcode:
      WM_GETMINMAXINFO: Begin
            PMinMaxInfo(lParam)^.ptMaxTrackSize.X := 1000;
            PMinMaxInfo(lParam)^.ptMaxTrackSize.Y := 1000;
      End;
Der Code wird zwar ausgeführt, aber die Constraints greifen noch immer und ich komme nicht über 500x500 hinaus

Hat jemand eine Idee?
  Mit Zitat antworten Zitat
worker
(Gast)

n/a Beiträge
 
#2

Re: Size-Constraints eines fremden Fensters setzen

  Alt 4. Apr 2009, 21:01
*push*
  Mit Zitat antworten Zitat
Reinhard Kern

Registriert seit: 22. Okt 2006
772 Beiträge
 
#3

Re: Size-Constraints eines fremden Fensters setzen

  Alt 5. Apr 2009, 02:43
Hallo,

Window sizing ist viel zu komplex, um daran ohne Kenntnis des Source-Codes was zu ändern. Z.B. kann man das ja auch in einer Ereignisroutine OnCanResize regeln, die ist aber delphi-spezifisch, also in fremder Software ziemlich sicher nicht vorhanden. Dazu ist keineswegs gesagt, dass eine Änderung der Fenstergrösse noch irgendetwas weiteres bewirkt, dazu muss der Entwickler ja auch erst Code schreiben. Ein grosser Teil der unter Windows auftauchenden Fenster ist überhaupt nicht resizable.

Gruss Reinhard
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.351 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Size-Constraints eines fremden Fensters setzen

  Alt 5. Apr 2009, 03:11
Insbesondere wird vermutlich OpenGL oder DirectX verwendet, wenn es sich nicht gerade um ein selbst gezeichnetes 2D-Spiel handelt. Und dann kann das so nicht klappen.

Dazu kommt das:
Zitat von Reinhard Kern:
Dazu ist keineswegs gesagt, dass eine Änderung der Fenstergrösse noch irgendetwas weiteres bewirkt, dazu muss der Entwickler ja auch erst Code schreiben.
Denn insbesondere bei Spielen wäre es relativ aufwendig alles komplett nach der Auflösung zu berechnen. Diese vorgegebenen Größen, die zur Auswahl stehen, sind ja nicht da, um den Benutzer zu ärgern, sondern weil das sonst ein größerer Aufwand wäre und das Spiel ggf. auch langsamer wäre.

Zitat von Reinhard Kern:
Ein grosser Teil der unter Windows auftauchenden Fenster ist überhaupt nicht resizable.
Wobei das bei Vista und Windows 7 bei den meisten Fällen wo es Sinn macht nicht mehr so ist. Dass es bis XP aber meistens so war, zeigt eben einmal mehr, dass es Aufwand ist.

Und wenn du, worker, einmal ein nonVCL Programm geschrieben hast, dann weißt du das auch aus eigener Erfahrung. Denn da geht das eben nicht so einfach mit Align oder Anchors und gut ists. Da muss man das manuell machen...
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
worker
(Gast)

n/a Beiträge
 
#5

Re: Size-Constraints eines fremden Fensters setzen

  Alt 5. Apr 2009, 19:33
Danke
  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 16:37 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