German Konfig-Seite mit Scrollbalken

Paulsche

Well-Known Member
Licensed User
Hi, ich habe eine Form für eine Konfigurationsseite der Farben,
nun brauche ich mehr Platz als die Form bietet und ich möchte nicht mehrere Seiten benutzen.
Ich könnte das wohl nur mit einem Scrollbalken lösen oder ?
Dann kann ich aber dies nicht mehr über den Designer machen, da ich ja im Designer nicht scrollen kann und müsste die Controls im Quellcode Positionieren, richtig ?
Und ich müsste die Controls auf einem Panel erstellen, damit sie nicht in der Form sind, da sie ja im Quellcode positioniert werden, richtig ?
 

specci48

Well-Known Member
Licensed User
Hallo Paulsche,

Ich könnte das wohl nur mit einem Scrollbalken lösen oder ?
Ja

Dann kann ich aber dies nicht mehr über den Designer machen, da ich ja im Designer nicht scrollen kann und müsste die Controls im Quellcode Positionieren, richtig ?
Ja

Und ich müsste die Controls auf einem Panel erstellen, damit sie nicht in der Form sind, da sie ja im Quellcode positioniert werden, richtig ?
Jein...
Ja, Du musst die Controls an das Panel hängen und nicht direkt auf die Form.
Nein, denn man kann aus dem Quellcode heraus sowohl an die Form als auch an ein Panel neue Elemente anfügen.

Im Anhang ist ein altes Beispiel von Erel angefügt. Die ursprüngliche und mittlerweile veraltete Scrollbar.dll habe ich durch die aktuelle ControlsEx.dll ersetzt.
Es zeigt auf recht einfache Weise, wie man die Scrollfunktion implementieren kann. Außerdem wird auch klar, dass weiterhin die Möglichkeit besteht, zumindest für gewisse Teile auf dem Panel den Designer zu verwenden. Man muss "nur" die Elemente außerhalb der Startansicht mit Add... hinzufügen.


Gruß
specci48
 

Attachments

Paulsche

Well-Known Member
Licensed User
Hi specci48 ,

vielen Dank, das hilft mir sehr gut weiter. :sign0098:
 

tudorf

Active Member
Licensed User
Editseite mit Scrollbar

Hallo

Ich möchte auf der Basis der Setupseite vom GPSExamel eine Editseite erstellen die ich in der Höhe verschieben kann.

In SUB Globals habe ich Dim scvSetup As ScrollView eingefügt.

Weiterhin habe ich
Sub Activity_Create(FirstTime As Boolean)
scvSetup.Initialize(0)
Activity.AddView(scvSetup, 0, 0, 100%x, 50%y)
scvSetup.Panel.LoadLayout("edit")

sowie im Designer eine Seite "Edit".
Hier gibt es ein PanelEdit mit Parent "Activity".
Ein weiteres Panel1 mit dem Parent "PanelEdit".
Sowie einen Edittext mit name EditNord2 mit Parent1.

Ich sehe keinen Unterschied zum GPSExampel. Es wird bei mir aber nichts angezeigt.

Die ZIP-datei hänge ich mal an.

Martin
 

Attachments

klaus

Expert
Licensed User
Es gibt doch einen Unterschied:
- im GPSExample fur das Setup sind ALLE Views in dem Panel pnlSetup enthalten, dieses Panel hat eine Höhe die grösser ist als der Bildschirm (im Designer erstellt).
- dieses Layout wird dann mit scvSetup.Panel.LoadLayout geladen
- und dann muss die Höhe des internen Panels der ScrollView gesetzt werden mit scvSetup.Panel.Height = pnlMapMarkers.Top + pnlMapMarkers.Height

Beste Grüsse.
 

tudorf

Active Member
Licensed User
> im GPSExample fur das Setup sind ALLE Views in dem Panel pnlSetup enthalten, dieses Panel hat eine Höhe die grösser ist als der Bildschirm (im Designer erstellt).
Im Augenblich hatte ich nur ein View zugewiesen. Der Rest fehlt noch. Aber dieser eine View sollte schon angezeigt werden.

dieses Layout wird dann mit scvSetup.Panel.LoadLayout geladen
Ich denke das wird er mit scvSetup.Panel.LoadLayout("edit")

- und dann muss die Höhe des internen Panels der ScrollView gesetzt werden mit scvSetup.Panel.Height = pnlMapMarkers.Top + pnlMapMarkers.Height
Verstehe ich nicht. pnlMapMarkers.Top ist 970 und pnlMapMarkers.Heigt ist 84. Eigentlich ein schmaler Bereich am unteren Ende des Panels.

Ich habe trotzdem meinem PanelEdit.Height = 900 und Panel1.Height = 890 zugewiesen. TOP jeweis 0. Weiterhin scvSetup.Panel.Height =panel1.Top + panel1.Height. Nun klapps und er zeigt was an.

Danke. Nun komme ich weiter.
Martin
 

tudorf

Active Member
Licensed User
Ein kleines Problem habe ich doch noch. Auf dem Panel habe ich ein Edittext welches mehrere Zeilen enthalten kann. Nun lässt sich der Inhalt nicht mehr verschieben sondern man sieht nur den ersten sichtbaren Teil im Editext-Inhalt. Wie kann ich das Panel aber auch den Inhalt vom Edittext verschieben. Im Prinzip das gleiche wie hier im Forum wenn Programmteile eingebunden werden.
Martin
 

klaus

Expert
Licensed User
Ich befürchte dass das nicht geht da die ScrollView das Touch event schon benutzt.
Was Du machen könntest ist die Höhe des EditTexts dem Text anzupassen.
Die kann man mit StringUtils.MeasureMultilineTextHeight.

Beste Grüsse.
 

tudorf

Active Member
Licensed User
Danke. mal sehn wie ich das löse. Da der Text beliebig groß sein könnte glaube ich dass ich dann evtl. auch die Größe vom Panel anpassen müsste. Weiterhin habe ich 3 Edittexte die unterschiedliche Größen haben könnten. Wahrscheinlich löse ich das mit einem Button "Mehr" und öffne ein neues Activity ohne Panel aber mit Scrollbaren Edittexten.

Danke Martin
 
Top