AGB  ·  Datenschutz  ·  Impressum  







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

TSplitter - Resize zur Designtime

Ein Thema von Benedikt · begonnen am 16. Mär 2005 · letzter Beitrag vom 17. Mär 2005
Antwort Antwort
Benedikt
(Gast)

n/a Beiträge
 
#1

TSplitter - Resize zur Designtime

  Alt 16. Mär 2005, 17:46
Hi,

ich hab ein recht merkwürdiges Problem mit dem TSplitter, und zwar teile ich zwei Komponenten horizontal mit einem TSplitter ab (Obere alClient, Splitter und Untere alBottom) - das klappt soweit auch alles super, zum Problem wird das Ganze nur, wenn ich z.B. über einen Button die Splitter-Position ändern will:

Wenn ich dann nämlich UntereKompo.Height:=0 mache, ist der Splitter zwar noch zu sehen, allerdings ist er danach nicht mehr beweglich, obwohl die Top und Height werte die gleichen sind, wie wenn ich den Splitter mit der Maus ganz nach unten ziehe...

Hat also irgendwer eine Idee wie ich direkt per Code die untere Komponente quasi minimieren kann, so dass der Splitter aber trotzdem funktionsfähig bleibt?

Ich hoffe das Problem ist zu verstehen,

vielen Dank und freundliche Grüße,
Benedikt Loepp
  Mit Zitat antworten Zitat
Benutzerbild von Pr0g
Pr0g

Registriert seit: 21. Mai 2004
809 Beiträge
 
Delphi 7 Personal
 
#2

Re: TSplitter - Resize zur Designtime

  Alt 16. Mär 2005, 18:45
Du darfst das Objekt nicht kleiner machen, als MinSize vom Splitter und der Wert ist min. 1. Wenn du das Objekt also statt 0 einfach 1 Pixel hoch machen würdest, müsste es gehen.

MfG Pr0g
  Mit Zitat antworten Zitat
Benedikt
(Gast)

n/a Beiträge
 
#3

Re: TSplitter - Resize zur Designtime

  Alt 16. Mär 2005, 19:18
Klar geht das dann - sieht aber ein wenig komisch aus wenn das Objekt noch mit einer Größe von einem Pixel zu sehen ist - das kann den ein- oder anderen schon irritieren
Es muss ja auch irgendwie anders möglich sein, immerhin funktioniert es ja per Hand richtig...
  Mit Zitat antworten Zitat
Benutzerbild von Pr0g
Pr0g

Registriert seit: 21. Mai 2004
809 Beiträge
 
Delphi 7 Personal
 
#4

Re: TSplitter - Resize zur Designtime

  Alt 16. Mär 2005, 20:59
Ich denke mal, du wirst die eine eigene Kompo vom TSplitter ableiten müssen, um dann bspw. ein OnMouseDown Ereignis oder ähnlich hinzufügen zu können. In diesem kannst du dass "Verschieben" starten.

Btw: Mir ist jetzt erst aufgefallen dass du ja der Autor von Scriptly bist, hin und wieder kommen ein paar User wegen der Plugins von deiner auf meine Seite.
  Mit Zitat antworten Zitat
Benedikt
(Gast)

n/a Beiträge
 
#5

Re: TSplitter - Resize zur Designtime

  Alt 16. Mär 2005, 22:47
War mir auch sofort klar das du der Autor vom Webweaver bist - kommen hin und wieder auch Leute von deiner Seite auf meine...

Jo, scheint keine ordentliche Lösung für dieses Problem zu geben, dann muss ich mir halt selbst was zusammenbasteln
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.016 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#6

Re: TSplitter - Resize zur Designtime

  Alt 17. Mär 2005, 11:29
Hi,

die Lösung sieht folgendermaßen aus (entweder als Hack in deine Unit oder ne neue Klasse ableiten):
Delphi-Quellcode:
type
  TSplitter = class(ExtCtrls.TSplitter)
    procedure MinimizeControl(AlignedControl: TControl);
  end;

{...}

procedure TSplitter.MinimizeControl(AlignedControl: TControl);
begin
  MouseDown(mbLeft, [], 0, 0);
  MouseMove([ssLeft], 0, AlignedControl.Height);
  MouseUp(mbLeft, [], 0, AlignedControl.Height);
end;
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
Benedikt
(Gast)

n/a Beiträge
 
#7

Re: TSplitter - Resize zur Designtime

  Alt 17. Mär 2005, 16:11
Habs mittlerweile ähnlich gelöst
Trotzdem danke...
  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 06:19 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