Autor |
Beitrag |
Hamster
      
Beiträge: 24
Windows XP und Linux SuSe 9.2 sowie 9.1 (Server)
Delphi 7 Enterprise Trial
|
Verfasst: Di 18.01.05 02:20
Hallo
ich habe jetzt ein Problem, das mich wirklich schon seit mindestens einer Stunde ans Forum & Google bindet:
Wie bekomme ich hin, das der User (der mein Programm ausführt) nicht in der Lage ist, die größe zu ändern ?
Ich habe nun schon so ziemlich alles geklickt und durchsucht .. bitte um hilfe
€dit: Hat sich erledigt. Ich habe eine (wie ich finde) doofe lösung gefunden. Einfach das ganze Fenster Transparent geamcht, und nen Panel als Background verwendet. Fertig  ) Moderiert von Tino: Topic aus Sonstiges verschoben am Di 18.01.2005 um 12:06
|
|
Stübi
      
Beiträge: 331
Win XP, Win 2000, Win ME
D5 Ent, D7 Prof, D2005 PE, C#
|
Verfasst: Di 18.01.05 08:45
Morgen,
ist eine etwas komplizierte Lösung wenn man bedenkt, dass man im Objektinspektor der Form einfach die Minimun und Maximunwerte angeben kann, und dies unter der Eigenschaft Constraints.
Gruss Stübi
_________________ Neun von zehn Stimmen in meinen Kopf sagen, dass ich nicht verrückt sei. Die zehnte summt die Tetrismelodie.
|
|
Heiko
      
Beiträge: 3169
Erhaltene Danke: 11
|
Verfasst: Di 18.01.05 09:06
Kannst aber auch im OnResize-Ereignis die größe des Fensters abfragen und dann die größe des Fensters abfragen. Wenn die größe des Fensters dier nicht gefällt kannste dann die größe des Fensters verändern mit Form1.Width oder Form1.ClientWidth (über die beiden fragst du die größe einfach nur ab)
|
|
Heiko
      
Beiträge: 3169
Erhaltene Danke: 11
|
Verfasst: Di 18.01.05 09:10
Mir ist noch eine Möglichkeit eingefallen. Verändere vom Formular einfach den BorderStyle, z.B. zu bsSingle (bei einige dieser Borderstyles kann die Fenstergröße nicht verändern).
|
|
Motzi
      
Beiträge: 2931
XP Prof, Vista Business
D6, D2k5-D2k7 je Prof
|
Verfasst: Di 18.01.05 11:51
Heiko hat folgendes geschrieben: | Mir ist noch eine Möglichkeit eingefallen. Verändere vom Formular einfach den BorderStyle, z.B. zu bsSingle (bei einige dieser Borderstyles kann die Fenstergröße nicht verändern). |
Und das sollte auch die vorzuziehende Lösung sein!! 
_________________ gringo pussy cats - eef i see you i will pull your tail out by eets roots!
|
|
Stübi
      
Beiträge: 331
Win XP, Win 2000, Win ME
D5 Ent, D7 Prof, D2005 PE, C#
|
Verfasst: Di 18.01.05 11:58
Motzi hat folgendes geschrieben: | Heiko hat folgendes geschrieben: | Mir ist noch eine Möglichkeit eingefallen. Verändere vom Formular einfach den BorderStyle, z.B. zu bsSingle (bei einige dieser Borderstyles kann die Fenstergröße nicht verändern). |
Und das sollte auch die vorzuziehende Lösung sein!!  |
Darf ich fragen aus welchen Gründen?
Stübi
_________________ Neun von zehn Stimmen in meinen Kopf sagen, dass ich nicht verrückt sei. Die zehnte summt die Tetrismelodie.
|
|
Motzi
      
Beiträge: 2931
XP Prof, Vista Business
D6, D2k5-D2k7 je Prof
|
Verfasst: Di 18.01.05 12:05
Stübi hat folgendes geschrieben: | Darf ich fragen aus welchen Gründen? |
Weil in diesem Fall der WS_THICKFRAME-WindowStyle nicht gesetzt wird, was der offizielle Weg ist:
PSDK hat folgendes geschrieben: | WS_THICKFRAME
Creates a window that has a sizing border. Same as the WS_SIZEBOX style. |
Alle anderen hier geposteten Vorschläge sind quick and dirty Workarounds - einige "kreativer" als andere, aber wirklich ideal ist keiner.
Bei deiner Constraints-Lösung zb kann man das Fenster zwar nicht mehr in der Größe ändern, aber der Cursor ändert sich trotzdem noch wenn ich in den entsprechenden Bereich komme. Das würde ich als User doch als etwas verwirrend empfinden...
_________________ gringo pussy cats - eef i see you i will pull your tail out by eets roots!
|
|
Heiko
      
Beiträge: 3169
Erhaltene Danke: 11
|
Verfasst: Di 18.01.05 12:06
Weil die Variante am wenigsten Sytemresourcen braucht (im Gegensatz zu meiner ersten Idee), außerdem benötigt diese Variante keinen zusätzlichen Quelltext. Ich denke aber, dass es die beste Variante ist, da man nicht das Icon bekommt, für das verändern der größe des Fensters (wenn man mit der Maus am Formularrand ist)
|
|
Heiko
      
Beiträge: 3169
Erhaltene Danke: 11
|
Verfasst: Di 18.01.05 12:09
Ach so, und noch etwas wenn du Borderstyle auf bsSingle änderst, stelle bei BorderIcons biMaximize auf false, da man sonst das Fenster noch Maximieren kann (soll ja schließlich auch verhindert werden)
|
|
Stübi
      
Beiträge: 331
Win XP, Win 2000, Win ME
D5 Ent, D7 Prof, D2005 PE, C#
|
Verfasst: Di 18.01.05 12:12
Motzi hat folgendes geschrieben: | Bei deiner Constraints-Lösung zb kann man das Fenster zwar nicht mehr in der Größe ändern, aber der Cursor ändert sich trotzdem noch wenn ich in den entsprechenden Bereich komme. Das würde ich als User doch als etwas verwirrend empfinden... |
Ok, vorallem das klingt sehr überzeugend, den Rest wusste ich nicht, danke.
gruss Stübi
_________________ Neun von zehn Stimmen in meinen Kopf sagen, dass ich nicht verrückt sei. Die zehnte summt die Tetrismelodie.
|
|