Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - Width nach links ausführen
bernd29 - Di 08.02.05 00:01
Titel: Width nach links ausführen
hallo !
ich habe ein panel das sich automatisch verbreitert nur eben nach rechts ich möchte aber das es das nach licks tut wie bekomme ich das hin?
bernd :(
Sprint - Di 08.02.05 00:40
Spiel mal ein bißchen mit den Eigenschaften Anchors, Left, Width & ClientWidth. Ein Blick in die Hilfe wäre auch hilfreich.
Edit: \\ Und natürlich mit dem Ereignis OnResize.
I.MacLeod - Di 08.02.05 00:41
Delphi-Quelltext
1:
| Panel.SetBounds(Panel.Left-1, Panel.Top, Panel.Width+1, Panel.Height); |
bernd29 - Di 08.02.05 00:42
hi
hab ich schon das panel verbreitert sich immer nur nach rechts ich hätte es aber gerne nach links .
BenBE - Di 08.02.05 00:55
Hier sind bereits 2 gute Vorschläge eingetroffen. Könntest Du bitte etwas dazu sagen, in wie weit die für Dein Problem funktionieren ODER eine genauere BEschreibung geben?
bernd29 - Di 08.02.05 09:58
tut mir leid hab mir noch mal das hirn verbogen und hab die lösung
statt:
Delphi-Quelltext
1: 2:
| procedure TForm1.Timer2Timer(Sender: TObject); const stepsize = 5; |
hab ich dank euren vorschlägen:
Delphi-Quelltext
1: 2:
| procedure TForm1.Timer2Timer(Sender: TObject); const stepsize = -5; |
geht super
dank euch noch mal
:lol:
Moderiert von
raziel: Delphi-Tags hinzugefügt
Maweki - Di 08.02.05 10:48
mich wuerde trotzdem mal die ganze loesung interessieren.
Waerest du so nett und wuerdest du mal die ganze OnTimer-prozedur posten...
Gruesse
Maweki
bernd29 - Di 08.02.05 18:20
also hier nun die gane procedure.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18:
| procedure TForm1.Timer2Timer(Sender: TObject); const stepsize = 5;
function Min(a,b:integer):integer; begin if a<b then Result:=a else Result:=b; end;
begin if tor1.Width =6 then begin Timer2.Enabled:=false; end else tor2.Left:=Min(tor2.left + stepsize, 6); end; |
wen ihr stepsize nun ein minus verpasst den läuft es nach links
ich meine natürlich im const bereich.
gruss bernd
Moderiert von
Gausi: Delphi-Tags hinzugefügt.
Maweki - Di 08.02.05 18:41
Wo veraenderst du die groesse des Panels eigentlich?
Ich wuerde es so machen:
Wenn du die groesse des Panels um, sagen wir 5 vergroesserst, dann ziehe doch einfach vom left genau diese 5 ab...
Und der Sinn deines Codes verschliesst sich mir noch. Koenntest du vielleicht (reines interesse) noch etwas mehr dazu sagen...
danke ;)
bernd29 - Di 08.02.05 18:47
aso ich war mit dem gepostetem code schon etwas weiter wie ich sehe na statt left nimste widht
veränder tust du es in diesem teil
to
r1.widht:=Min(tor1.widht + stepsize, 200);
bernd
Moderiert von
AXMD: Delphi-Tags hinzugefügt.
Maweki - Di 08.02.05 18:51
ich meine einfach Width incrementieren und Left um das selbe decrementieren...
Und hat es eine spezielle bewandniss, dass du das ganze in einem timer ausfuehrst?
bernd29 - Di 08.02.05 18:56
ich wuste nur nicht wie man eine form aktualiesiert
also hab ich alles was ich neu erstellen wollte auf der form auf false gesetzt damit man das aber nicht sieht hab ich eine art tor das sich von zwei seiten zuzieht wen ich nun meine neuen einstellungen getan habe geht es auf und alles ist wie es ist
bernd
Maweki - Di 08.02.05 19:09
hilft dir die eigenschaft visible...
auf false sieht man das element nicht...
bernd29 - Di 08.02.05 19:14
schon klar nur ich habe mehrere panels die je nach anzahl des benutzers true oder false sein sollen
da ich das problem hatte das wen ich weniger haben wollte wie schon da waren ging garnix mehr ging immer also hab ich sie alle auf false sobalt ich im einstellung fenster bin damit es aber net so leer aus sieht lass ich das tor zu gehen .
bernd
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!