AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Maximieren von Forms verhindern (mit spTBX Lib)
Thema durchsuchen
Ansicht
Themen-Optionen

Maximieren von Forms verhindern (mit spTBX Lib)

Ein Thema von alias5000 · begonnen am 11. Mär 2006 · letzter Beitrag vom 11. Mär 2006
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von alias5000
alias5000

Registriert seit: 10. Sep 2005
Ort: Heilbronn
268 Beiträge
 
#1

Maximieren von Forms verhindern (mit spTBX Lib)

  Alt 11. Mär 2006, 20:26
Hallo!
Grundfrage ist: Wie kann ich verhindern, dass meine Form maximiert wird?

Eigentlich ganz simpel, gäbe es dort nicht ein paar Einschränkungen:
-durch den Einsatz der TspTBXTitleBar aus der Komponentensammlung Bei Google suchenspTBX Lib wird der BorderStyle der betroffenen Form automatisch auf bsNone gestellt, was auch so bleiben muss. Dadurch haben die Einstellungen bei TFormXY.BorderIcons keine Wirkung mehr.
-Wenn ich einen Doppelklick auf die Titelleiste mache, wird das Fenster auch schön maximiert, wie bei einer normalen Titelleiste (also nicht spTBXTitleBar). Die würde ich gerne auch verhindern.

Läuft dieser Vorgang über Messages (WM_bla, CM_bla,...)? Kann ich diese schön abfangen und ins nichts verrinnen lassen?

Gruß alias5000
Im Interesse der Purierung des germanischen Ideoms ist es opertum den immensen Usus peregrieder Verben auf ein Minimum zu reduzieren.
--> www.lanchat2.de <---
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#2

Re: Maximieren von Forms verhindern (mit spTBX Lib)

  Alt 11. Mär 2006, 20:33
Hast du es schon versucht mit folgender Umstellung?
Form.BorderIcon := [biSystemMenu,biMinimize] Das müsste helfen!
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
Benutzerbild von alias5000
alias5000

Registriert seit: 10. Sep 2005
Ort: Heilbronn
268 Beiträge
 
#3

Re: Maximieren von Forms verhindern (mit spTBX Lib)

  Alt 11. Mär 2006, 20:43
Zitat von alias5000:
[...]wird der BorderStyle der betroffenen Form automatisch auf bsNone gestellt, was auch so bleiben muss. Dadurch haben die Einstellungen bei TFormXY.BorderIcons keine Wirkung mehr[...]
Wie du siehst hab ich das schon und leider gehts nicht. Eine Idee wäre noch, das mal in der Laufzeit zu tun, das teste ich gleich...

Aber gibts net sowas wie CM_MAXIMIZE für ne Form oder so?

Gruß alias5000
Im Interesse der Purierung des germanischen Ideoms ist es opertum den immensen Usus peregrieder Verben auf ein Minimum zu reduzieren.
--> www.lanchat2.de <---
  Mit Zitat antworten Zitat
Ratte

Registriert seit: 12. Dez 2003
Ort: Erfurt
345 Beiträge
 
Delphi 2005 Personal
 
#4

Re: Maximieren von Forms verhindern (mit spTBX Lib)

  Alt 11. Mär 2006, 20:49
Eine Form hat doch die Eigenschaft OnCanResize. Einfach immer verbieten und das müsste es sein.

Ratte
Schiffsratte der U.S.S. Delphipraxis, Laderaum 4538
BUSH:= TTerminator.create;
  Mit Zitat antworten Zitat
Benutzerbild von alias5000
alias5000

Registriert seit: 10. Sep 2005
Ort: Heilbronn
268 Beiträge
 
#5

Re: Maximieren von Forms verhindern (mit spTBX Lib)

  Alt 11. Mär 2006, 20:55
Aber woher soll ich erkennen, dass das Fenster maximiert werden soll. Wenn der User es sich so manuell hinzieht solls akzeptiert werden (auch wenn ich den Benutzer dann für blöd halte, so manuelles hinziehen sollte erlaubt sein). Ich will solches Verhalten, wie z.B. beim Doppelklick auf die Titelleiste oder im Systemmenü auf Maximieren halt verhindern.

Gruß alias5000
Im Interesse der Purierung des germanischen Ideoms ist es opertum den immensen Usus peregrieder Verben auf ein Minimum zu reduzieren.
--> www.lanchat2.de <---
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#6

Re: Maximieren von Forms verhindern (mit spTBX Lib)

  Alt 11. Mär 2006, 21:16
Also man könnte es "austricksen" ^^
Delphi-Quellcode:
if Form.width >= Screen.Width then
  dec(Form.Width, 2);
if Form.Heigth>= Screen.Heigththen
  dec(Form.Heigth, 2);
Andere möglichkeit wäre die Constraints zu setzten
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
Benutzerbild von alias5000
alias5000

Registriert seit: 10. Sep 2005
Ort: Heilbronn
268 Beiträge
 
#7

Re: Maximieren von Forms verhindern (mit spTBX Lib)

  Alt 11. Mär 2006, 21:40
Ja aber das sind bloß so "halbe" Lösungen. Es geht nur darum, zu verhindern, dass der Maximiert-Status nicht geht.
Möglich ist es, TFormXY.windowState auf wsnormal zu setzen, wenn man im Ereignis TFormXY.OnResize feststellt, dass der windowState wsMaximized ist. Das Problem ist nur die Animation, die trotz allem ausführt wird.
Im Interesse der Purierung des germanischen Ideoms ist es opertum den immensen Usus peregrieder Verben auf ein Minimum zu reduzieren.
--> www.lanchat2.de <---
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#8

Re: Maximieren von Forms verhindern (mit spTBX Lib)

  Alt 11. Mär 2006, 21:50
Ist WindowState blockiert?
Delphi-Quellcode:
procedure TForm1.FormResize(Sender: TObject);
begin
  if Form1.WindowState = wsMaximized then
    Showmessage('Das Fenster ist nun maximiert');
end;
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
Benutzerbild von alias5000
alias5000

Registriert seit: 10. Sep 2005
Ort: Heilbronn
268 Beiträge
 
#9

Re: Maximieren von Forms verhindern (mit spTBX Lib)

  Alt 11. Mär 2006, 21:56
Nein. Das funtkioniert schon, aber es läuft so ab:
  • Doppelklick auf die Titelleiste
  • Animnation zum maximieren wird gestartet, windowstate ist noch wsnormal
  • wenn Animtion fertig ist, wird OnResize ausgelöst, erst jetzt ist windowstate wsmaximized
  • Wenn ich hier zurück auf wsnormal stelle, gibts wieder eine Animation zurück.
  • Das hier ist halt irgendwie nur eine Notlösung...

Gruß alias5000
Im Interesse der Purierung des germanischen Ideoms ist es opertum den immensen Usus peregrieder Verben auf ein Minimum zu reduzieren.
--> www.lanchat2.de <---
  Mit Zitat antworten Zitat
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#10

Re: Maximieren von Forms verhindern (mit spTBX Lib)

  Alt 11. Mär 2006, 22:02
hmm... also ich finde, so ein Verhalten könnte vom User ziemlich einfach als "nein, ich will nicht maximiert werden" interpretiert werden. Noch ein "Beep;" dazu, und die Sache ist gegessen...
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 18:44 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