Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - [VisualCLX] Fensterpositionierung (Komponente)
DIGIMan - Di 03.06.03 20:57
Titel: Fensterpositionierung (Komponente)
Servus,
wir suchen einen Komponenten um die Fenster zu positionieren.
Wenn ich in der Konfig einstelle Oben/Mitte dann soll sich die Form dort befinen oder Unten/Recht oder Unten/Links...
Kennt jemand so eine Kostenlose Komponenten für Delphi 6-7?
Bin über jede Hilfe dankbar...!
DIGIMan
Terra23 - Di 03.06.03 21:26
Das kannst du doch mit ein paar Zeilen in deinem Programm schreiben:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23:
| Form1.Top:=0; Form1.Left:=0;
Form1.Top:=0; Form1.Left:=Screen.Width-Form1.Width;
Form1.Top:=0; Form1.Left:=(Screen.Width DIV 2)-(Form1.Width DIV 2)
Form1.Top:=Screen.Height-Form1.Height; Form1.Left:=0;
Form1.Top:=Screen.Height-Form1.Height; Form1.Left:=Screen.Width-Form1.Width;
Form1.Top:=Screen.Height-Form1.Height; Form1.Left:=(Screen.Width DIV 2)-(Form1.Width DIV 2); |
Um das Programm ganz in die Mitte zu setzen, gibt es die Möglichkeit im OI die Position der Form auf
poScreenCenter zu setzen. :-)
Klabautermann - Mi 04.06.03 10:50
Hallo,
suchtst du wirklich eine CLX Komponente oder doch eine Klassische VCL Lösung?
Gruß
Klabautermann
DIGIMan - Mi 04.06.03 23:27
Servus,
Klabautermann hat folgendes geschrieben: |
suchtst du wirklich eine CLX Komponente oder doch eine Klassische
VCL Lösung? |
Was ist der Unterschied?
Hallo Terra23
Deine Variante hat funktioniert, aber wie kann man noch eine Einstellung einbinden, das sich mein Formular nicht über den Bildschirmrand Links/Rechts verstecken/Verschieben läßt?
Kann man diese vielleicht Festpositionieren, dass der User nicht das Fenster verschieben kann?
Gruß DIGIMan
Moderiert von
Klabautermann: Quote-Tags hizugefügt.
Terra23 - Do 05.06.03 00:45
Ich weiß, daß das funktioniert. Das ist ja auch Grundlage, die beherrsche ich soweit. :mrgreen:
Das andere steuerst du per Timer:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20:
| Form1.Timer1OnTimer(Sender: TObject); begin
If Form1.Top<0 Then Form1.Top:=0;
If Form1.Top>Screen.Height-Form1.Height Then Form1.Top:=Screen.Height-Form1.Height;
If Form1.Left<0 Then Form1.Left:=0;
If Form1.Left>Screen.Width-Form1.Width Then Form1.Left:=Screen.Width-Form1.Width;
end; |
Das müßte so gehen, oder? Was meinst du?
///edit -> Ich denke, das was Klabautermann meint, ist einfach folgendes:
Die VCL-Lösung ist das, was ich dir geschrieben habe, sprich die Lösung durch Programmzeilen und die andere Variante ist eine Komponente, die das alles für dich macht, sprich für dich quasi das Formular und dessen Positionen verwaltet. Richtig, Klabauter?
Klabautermann - Do 05.06.03 12:13
Hallo,
DIGIMan hat folgendes geschrieben: |
Klabautermann hat folgendes geschrieben: | suchtst du wirklich eine CLX Komponente oder doch eine Klassische
VCL Lösung? |
Was ist der Unterschied? |
Terra23 hat folgendes geschrieben: |
///edit -> Ich denke, das was Klabautermann meint, ist einfach folgendes:
Die VCL-Lösung ist das, was ich dir geschrieben habe, sprich die Lösung durch Programmzeilen und die andere Variante ist eine Komponente, die das alles für dich macht, sprich für dich quasi das Formular und dessen Positionen verwaltet. Richtig, Klabauter? |
nein, nciht wirklich. Seit der Einführung von Kylix gibt es neben den VCL-Komponenten (Visual Komponent Library) auch die CLX-Komponenten (Component Library for Cross Platform). Letztere funktionieren dann sowohl unter Kylix als auch in Deilphi-CLX-Anwendungen (ab Delphi 6 in mindestes der Pro ausführung möglich). Und diese Forumskathegorie ist für eben solche CLX-Anwendungen zuständig. Wenn also nach einer Komponente für ein klassisches Delphi-VCL Programm gefragt wurde, dann gehört die Frage nicht in diese Kathegorie und ich muss sie verschieben. Das versuche ich nur fest zu stellen.
Gruß
Klabautermann
PS: Die lösung ist sehr warscheinlich algemeingülltig, daher kann ich es auch nciht von dieser ableiten ;).
DIGIMan - Mo 09.06.03 21:35
Servus,
so mit den Fenster klapt es super, das dieses immer im Bildschirm bleibt.
Nur wie kann ich es machen, das es auch immer im Vordergrund bleibt?
Bitte beachten, das es sich hier nicht nur um ein Form handelt. In der Software is dies Form3.
Thx DIGIMan
Terra23 - Di 24.06.03 23:46
@Digiman:
Das erstere kannst du irgendwo im OI einstellen (fsStayOnTop oder so).
Zweiteres:
Bitte beachten:
Den Code kannst du in jede deiner Formen einbinden. Weiterhin ist auch bitte mal ein wenige Eigeninitiative nötig, wenn du was möchtest. Ich kann dir doch hier nicht zu allem die Lösung hinschreiben. Überleg' doch bitte auch mal ein wenig, denn wenn du nur Copy & Paste praktizierst, ohne den Sinn verstehen zu wollen, dann tut mir das leid, aber dann bin ich der falsche Ansprechpartner. Nichts für Ungut, aber auseinandersetzen mußt du dich schon mit der Materie..
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!