Autor Beitrag
JohnMcClane
Hält's aus hier
Beiträge: 7



BeitragVerfasst: Mi 22.01.03 19:08 
Hi

Ich arbeite gerade an einem HTML Editor, der ein PageControl enthält, in dem dynamisch RichEdit Komponenten aus einem Array erzeugt werden. Zur Navigation benutze ich aber anstatt der Standard Tabs des PageControl, eine ScrollBox Komponente, in der für jeden Tab ein TImage erzeugt wird. Das funktioniert soweit auch alles so wie es soll, bis auf das Scrollen. Wenn der User z.b. mehr Tabs öffnet, als in der ScollBox sichtbar sind, dann möchte ich, dass automatisch dahingescrollt wird. Auch wenn man auf Next oder Previous Tab klickt, möchte ich, dass automatisch zu dem jeweiligen Bild gescrollt wird, wenn es ausserhalb des Sichtbereichs ist.

Ich habs bereits mit ScrollBox1.ScrollInView(Tab[ActivePage].Image); versucht, allerdings passiert da überhaupt nichts.

Zur Veranschaulichung gibt es hier ein Screenshot meines Proggies: www.monkeyclan.de/screen1.jpg
smiegel
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 992
Erhaltene Danke: 1

WIN 7
D7 Prof., C#, RAD XE Prof.
BeitragVerfasst: Do 23.01.03 18:56 
Hallo,

folgend ein Ausschnitt aus der Delphi-Hilfe. Der könnte Dir evtl. weiterhelfen:

Zitat:

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
Das folgende Beispiel zeigt das Verschieben des Formularausschnitts mit den Tasten BildAuf und BildAb.

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
const
  PageDelta = 10;
begin
  With VertScrollbar do
    if Key = VK_NEXT then
      Position := Position + PageDelta
    else if Key = VK_PRIOR then
      Position := Position - PageDelta;
end;


_________________
Gruß Smiegel
Ich weiß, daß ich nichts weiß, aber ich weiß mehr als die, die nicht wissen, daß sie nichts wissen. (Sokrates)
JohnMcClane Threadstarter
Hält's aus hier
Beiträge: 7



BeitragVerfasst: Do 23.01.03 20:22 
Ne, das war nicht das was ich meinte - wenn du dir mal mein Screenshot ansiehst, dann siehst du oben eine Leiste mit Images (Untitled1,Untitled2,Untitled3,..), die alle dynamisch in einer ScrollBox erstellt wurden, die hier nicht sichtbar ist, weil ich den Borderstyle auf bsNone gesetzt habe.

Wenn du genauer hinsiehst, dann fällt dir auf, dass ich durch klicken auf Next Tab (Pfeil "->") das Image mit der Caption "Untitled 8" aktiviert habe. Nun ist das Bild aber nur teilweise sichtbar und ich hätte jetzt gern, dass die ScrollBox automatisch soweit nach rechts scrollt, bis das Bild voll zu sehen ist. Ich hab nur keine Ahnung wie :?