Verhindern SWT ScrolledComposite aus Essen Teil sind es die Kinder
Was habe ich falsch gemacht?
Hier ein Auszug aus meinem code:
public void createPartControl(Composite parent) {
parent.setLayout(new FillLayout());
ScrolledComposite scrollBox = new ScrolledComposite(parent, SWT.V_SCROLL);
scrollBox.setExpandHorizontal(true);
mParent = new Composite(scrollBox, SWT.NONE);
scrollBox.setContent(mParent);
FormLayout layout = new FormLayout();
mParent.setLayout(layout);
//Adds a bunch of controls here
mParent.layout();
mParent.setSize(mParent.computeSize(SWT.DEFAULT, SWT.DEFAULT, true));
}
...aber es clips mit der letzten Schaltfläche:
bigbrother82: Das hat nicht funktioniert.
SCdF: ich habe versucht Ihren Vorschlag, und jetzt sind die Scrollbalken verschwunden sind. Ich muss arbeiten, einige mehr.
Hey Jeremy, ich habe nur gerade bemerkt jetzt, dass mein Vorschlag nicht funktioniert hat. Hatten Sie kein Glück mit diesem?
(btw, wenn Sie einen Kommentar auf meine Antwort, dann wird es zeigen, bis in meine Antworten und ich werde Sie nicht verpassen)
(btw, wenn Sie einen Kommentar auf meine Antwort, dann wird es zeigen, bis in meine Antworten und ich werde Sie nicht verpassen)
InformationsquelleAutor Jeremy | 2008-08-29
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies ist eine häufige Hürde bei der Verwendung von
ScrolledComposite
. Wenn es so klein ist, dass der scroll-Balken dargestellt werden müssen, die client-Steuerelement zu verkleinern horizontal, um Platz für die Bildlaufleiste. Dies hat den Nebeneffekt, dass einige labels, wrap-Zeilen, die verschoben Sie die folgenden Steuerelemente weiter nach unten gestiegen, wobei die minimale Höhe benötigt, die von der content-composite.Müssen Sie zu hören, für die Breite, änderungen am Inhalt composite (
mParent
) berechnen Sie die minimale Höhe wieder angesichts der neuen Inhalte, die Breite, und rufen SiesetMinHeight()
auf der gescrollt composite mit neuen Höhepunkt.Hören für änderungen an Größe, beachten Sie, dass wir ignorieren, auf resize-Ereignisse, wo die Breite gleich bleibt. Dies ist, weil änderungen in der Höhe des Inhalts nicht auf die mindestens Höhe des Inhalts, so lang wie die Breite ist die gleiche.
InformationsquelleAutor qualidafial
Wenn ich mich nicht Irre Sie müssen swap die
und
so, dass Sie:
InformationsquelleAutor Jacob Schoen
Nicht, müssen Sie berechnen die Größe der scrollBox nach dem layout?
InformationsquelleAutor SCdF
Versuchen .setMinWidth und .setMinHeight auf die ScrolledComposite einmal wurde das layout fertig, übergeben Sie die Größe des Haupt-composite.
InformationsquelleAutor alexmcchessers