Programmieren - alles kontrollieren 4.934 Themen, 20.613 Beiträge

Drei Fragen zu Dateilistenfeld und Größe von Steuerelementen

martinx24 / 1 Antworten / Flachansicht Nickles

Hallo!

Ich möchte auf einem Formular beim Start ein Dateilistenfeld anzeigen, daß mir alle Dateien eines bestimmten Ordners anzeigt - so weit so gut. Wenn mein Verzeichnis sehr viele Dateien hat, (mehr als in das Dateilistenfeld passen, so zeigt mir VB auch gleich eine Vertical-Scrollbar an - OK. Wenn meine Dateinamen jedoch zu lang für das Dateilistenfeld sind, so bräuchte ich noch eine Horizontal-Scrollbar, doch leider erscheint diese nicht.

1. Frage: Wie kann ich eine "aktivieren" bzw. ist das möglich?

Außerdem möchte ich bei allen Steuerelementen die auf dem Formular angelegt sind auch noch die Steuerelementgröße abhängig von der Formulargröße machen. Dabei verwende ich z.B. folgenden Code:

cmdEnde.Top = frmHauptformular.Height - 1000

Das funktioniert auch alles, doch wenn ich das Formular nun minimiere bzw. kleiner mache als 1000, so tritt ein Laufzeitfehler auf.
Ich hab auch schon z.B. folgendes versucht:

cmdEnde.Top = frmHauptformular.Height * 0.8

Dann klappt\'s zwar mit dem Minimieren und klein machen, doch scheint mir der Abstand zwischen den Steuerelementen nicht unbedingt so genau zu stimmen, d.h. bei einem größeren Formular ist der Abstand machmal kleiner als bei einem kleinen Formular. Vielleicht ein interner Rundungsfehler von VB?

2. Frage:
Was mache ich falsch und wie kann ich dem Formular eine bestimmte Mindestgröße, die nicht unterschritten werden darf "mitgeben"?

3. Frage:
Was ist eigentlich der Unterschied zwischen z.B.:
frmHauptformular.Height und frmHauptformular.ScaleHeight


Vielen Dank schon mal im voraus für Eure Unterstützung!!!
Martin!

bei Antwort benachrichtigen
flosch0815 martinx24 „Drei Fragen zu Dateilistenfeld und Größe von Steuerelementen“
Optionen

zu 1. bzw 2.:
Ich gehe mal davon aus, dass 'cmdEnde.Top = frmHauptformular.Height - 1000' im Resize-Ereigniss steht. Ich würde das so machen (bzw habe das immer so gemacht):


Private Sub Form_Resize()
On Error GoTo err
If frmHauptformular.Height frmHauptformular.Height = MindestHoehe
GoTo err
End If
cmdEnde.Top = frmHauptformular.Height - 1000
err:
Exit Sub
End Sub

Hoffe es stimmt und hat Dir geholfen...

Flo

bei Antwort benachrichtigen