Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - Buttons deaktivieren?
checker111 - Fr 02.08.02 14:57
Titel: Buttons deaktivieren?
1.Wie kann man die Fensterbuttons(minimeren, maximieren bzw. wiederherstellen, schließen) deaktivieren?
2. Angenommen ich deaktiviere bei einer Anwendung den schließen Button. Kann das Prog dann noch mit einem Button(im Prog) mit
beendet werden?
thx for help
Klabautermann - Fr 02.08.02 15:13
Titel: Re: Buttons deaktivieren?
Hallo,
zu 1) Das kannst du über die Eigenschaft BorderIcons deines Formulars (wird nur zur Laufzeit sichtbar).
zu 2) Selbstverständlich.
Gruß
Klabautermann
cbs - Fr 02.08.02 18:39
Tag auch
Zitat: |
Man kann jetzt die Größe aber immer noch verstellen. |
meinst du damit die größe deines formulars?
wenn ja geht das so:
Quelltext
1:
| Form1.BorderStyle:= bsSingle; |
hiermit hast du zwar noch nen rahmen aber der is in der größe nicht mehr verstellbar.
is natürlich auch im objectinspektor einstellbar
du kannst zum begrenzen deines forms auch die eigenschaft
Constraints nutzen, z.b. so
Quelltext
1: 2:
| Form1.Constraints.MinHeight:= 200; Form1.Constraints.MinWidth:= 200; |
jetzt kann das Form bis auf 200x200 verkleinert werden. mehr geht nicht. vergrössern ja verkleinern nein
checker111 - Fr 02.08.02 18:48
Danke für die schnelle Antwort. Ich werde hier reinposten, ob es funktioniert hat... :D
P.S.: Ja, ich meine die Größe des Formulars :wink:
checker111 - Fr 02.08.02 18:53
Ja, funktioniert! :D
Ich habe aber oben noch meine letzte Frage dazu vergessen:
Kann man auch unterbinden, dass das Fenster verschoben wird?
Nochmal DANKE für eure Hilfe
cu checker
cbs - Fr 02.08.02 19:17
ja kann man (code is aus
swissdelphicenter.ch [
http://www.swissdelphicenter.ch/de/showcode.php?id=237])
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18:
| private procedure WMSysCommand(var Msg: TWMSysCommand); message WM_SYSCOMMAND;
{...} implementation
procedure TForm1.WMSysCommand(var Msg: TWMSysCommand); begin if ((Msg.CmdType and $FFF0) = SC_MOVE) or ((Msg.CmdType and $FFF0) = SC_SIZE) then begin Msg.Result := 0; Exit; end; inherited; end; |
du deklarierst unter private deines formulars die procedure WMSysCommand und schreibst dann unter dem implementation teil die procedure. der code verhindert ein verschieben und ein vergrößern/verkleinern.
möchtest du nur das die form nicht verschoben werden kann nimmst du folgende zeilen raus:
Quelltext
1:
| or ((Msg.CmdType and $FFF0) = SC_SIZE) |
ich habs aber nicht getestet
checker111 - Fr 02.08.02 19:40
Funktioniert einwandfrei! :D :D :D
RIESENGROßES D A N K E nochma!!!
cu checker
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!