AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Splitter-Positon auf 0 ?

Ein Thema von jfheins · begonnen am 7. Jul 2005 · letzter Beitrag vom 7. Jul 2005
Antwort Antwort
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#1

Splitter-Positon auf 0 ?

  Alt 7. Jul 2005, 21:18
Ich habe folgendes Problem:

Ich setze beim Starten (im OnCreate) den Splitter, also besser gesagt die Breite des linken Controls, auf einen Wert. Soweit, sogut. Wenn ich aber die Breite auf 0 setze, dann geschieht ein Wunder:
Entgegen allen Gesetzen der Logik, ist der Splitter plözlich links vom Control
Folge: Der Splitter ist unbrauchbar

Also so:
Code:
*____      ____
|    | || |    |
|    | || |    |
|    | || |    |
|____| || |____|
Und beim auf 0 setzen dann so:
Code:
****____   ____
 || |    | |    |
 || |    | |    |
 || |    | |    |
 || |____| |____|
Dann geht natürlich gar nichts mehr ...

Ein setzen von Splitter.left := Memo1.left + Memo1.width + 1; hat auch nichts gebracht, zumindest nicht im FormCreate, also in nem Buttonclick geht's, aber wer will schon lesen "Zum abschließenden Laden der Einstellungen bitte Knopf drücken"

Anbei ein Beispielprojekt
Angehängte Dateien
Dateityp: zip splittertest_107.zip (213,3 KB, 17x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Splitter-Positon auf 0 ?

  Alt 7. Jul 2005, 21:21
Sxchönes Demo. Wäre jetzt bestimmt noch hilfreich, wenn du die Unit1.pas mitliefern würdest, so kann man damit gar nichts anfangen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#3

Re: Splitter-Positon auf 0 ?

  Alt 7. Jul 2005, 21:25
Sorry neuer Anhang ist schon oben
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#4

Re: Splitter-Positon auf 0 ?

  Alt 7. Jul 2005, 21:52
Hallo Julius,

die Borland-Entwickler bestimmen das Control, dessen Dimension der Splitter steuert, durch PtInRect(). Damit das funktioniert haben sie Splitter.MinSize mit einer Untergrenze von 1 festgeschrieben. Wenn du einen Splitter auf einer Form verwendest, dann sollten die beiden angrenzenden Controls diese MinSize als Constraint übernehmen, sonst unterläufst du die Rahmenbedingungen.

Grüße vom marabu
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#5

Re: Splitter-Positon auf 0 ?

  Alt 7. Jul 2005, 22:00
Und da soll man drauf kommen

Auch wenn ichs toll fand, dass man das links ganz wegmachen konnte werde ich das jetzt einfach mit minsize=1 und in den constaints auch ...

Nochmal thx
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#6

Re: Splitter-Positon auf 0 ?

  Alt 7. Jul 2005, 22:03
Wenn du es so toll findest, dann hilft auch das:

Delphi-Quellcode:
procedure TDemoForm.HideButtonClick(Sender: TObject);
begin
  Splitter.Parent := nil;
  LeftMemo.Parent := nil;
end;

procedure TDemoForm.ShowButtonClick(Sender: TObject);
begin
  LeftMemo.Parent := self;
  Splitter.Parent := self;
end;
marabu

PS: Die Reihenfolge ist übrigens wichtig...
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#7

Re: Splitter-Positon auf 0 ?

  Alt 7. Jul 2005, 22:14
Nein, diese Lösung ist suboptimal - schließlichb soll beim satren des Programms der Splitter einfach nur wieder da sein, wo er beim Beenden war

Man kann jetzt eben nichts mehr verstecken, und fertig
  Mit Zitat antworten Zitat
Antwort Antwort


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 20:11 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