Form1 Scrolle und Label sortieren ?

Moin Moin,
Erste Frage:
Ich habe auf meiner Form zu viele Label, diese würde ich gern untereinander anordnen. Problem dabei ist das der Bildschirm einfach nicht gross genug ist um alle anzuzeigen…
Gibt es eine Möglichkeit Der Form1 Scrollbalken zu verpassen um so den Inhalt der Form hoch und runter zu scrollen ?

Zweite frage:
Ich habe auf meiner Form immer 3 Zusammengehörige Label nebeneinander
LAbel1(0) Label2(0) und Label6(0)
es sinde 59 Label reihen untereinander.
Diese Label reihen. werden über eine KonfigurationsSeite Aktiviert oder Deaktiviert und somit Visible True oder nicht sichtbar gemacht.
Problem dabei ist nur das wenn reihe 0-6 Sichtbar und Reihe 7 -20 nicht sichtbar sind es 13 Zeilen Platz gibt ohne Label und ab 21 wieder Label zu sehen sind … also muss viel gescrollt werden um den leer platz zu überwinden.
Kann ich irgdendwie Allso Aktivierten Label untereinander anordnen lassen ? Auf derm Form1

Wenn zb nur Labelreihe(0) (Label1(0) , Label2(0) ,Label6(0))
Labelreihe(12) und Labelreihe(15) sichbar sind sollte es nur 3 Zeilen auf derm Form geben, also die 3 labelreihen und nicht 15 Zeilen von denen nur 3 Sichtbar sind.

Ich hoffe das ich es halbwegs gut erlärt habe.

Danke mfg jonny

Hi Joe,

Erste Frage:
Ich habe auf meiner Form zu viele Label, diese würde ich gern
untereinander anordnen. Problem dabei ist das der Bildschirm
einfach nicht gross genug ist um alle anzuzeigen…
Gibt es eine Möglichkeit Der Form1 Scrollbalken zu verpassen
um so den Inhalt der Form hoch und runter zu scrollen ?

Nein. Aber das kann man umgehen, indem man auf die Form ein Picture-Steuerelemet legt, in das ein weiteres Picture und auf dieses die Label. Dann kann man das innere Pictuer verschieben, sieht wie scrollen aus.

Zweite frage:
Ich habe auf meiner Form immer 3 Zusammengehörige Label
nebeneinander
LAbel1(0) Label2(0) und Label6(0)
es sinde 59 Label reihen untereinander.
Diese Label reihen. werden über eine KonfigurationsSeite
Aktiviert oder Deaktiviert und somit Visible True oder nicht
sichtbar gemacht.
Problem dabei ist nur das wenn reihe 0-6 Sichtbar und Reihe 7
-20 nicht sichtbar sind es 13 Zeilen Platz gibt ohne Label und
ab 21 wieder Label zu sehen sind … also muss viel gescrollt
werden um den leer platz zu überwinden.
Kann ich irgdendwie Allso Aktivierten Label untereinander
anordnen lassen ? Auf derm Form1

Wenn zb nur Labelreihe(0) (Label1(0) , Label2(0) ,Label6(0))
Labelreihe(12) und Labelreihe(15) sichbar sind
sollte es nur 3 Zeilen auf derm Form geben, also die 3
labelreihen und nicht 15 Zeilen von denen nur 3 Sichtbar sind.

Ich hoffe das ich es halbwegs gut erlärt habe.

Ja, hast Du.

VB macht das nicht allein, aber Du kannst ja die Positionen bei jeder Änderung neu berechnen. Das ist keine große Aktion.

Ich habe aber den Eindruck als würdest Du gerade versuchen, das MSFlexgrid neu zu schreiben. Gefällt Dir das nicht, oder warum nimmst Du das nicht einfach?

Gruß Rainer

Ich habe auf meiner Form zu viele Label, diese würde ich gern
untereinander anordnen. Problem dabei ist das der Bildschirm
einfach nicht gross genug ist um alle anzuzeigen…
Gibt es eine Möglichkeit Der Form1 Scrollbalken zu verpassen
um so den Inhalt der Form hoch und runter zu scrollen ?

Nein. Aber das kann man umgehen, indem man auf die Form ein
Picture-Steuerelemet legt, in das ein weiteres Picture und auf
dieses die Label. Dann kann man das innere Pictuer
verschieben, sieht wie scrollen aus.

Hallo Rainer,Joe,

man kann doch eine vertikale Scrolleiste einbauen, dann nach Betätigung der Scrolleiste die Position der Label anpassen sodaß es wie Scrollen aussieht!?

Gruß
Reinhard

Hallo Reinhard,

man kann doch eine vertikale Scrolleiste einbauen, dann nach
Betätigung der Scrolleiste die Position der Label anpassen
sodaß es wie Scrollen aussieht!?

Stimmt! Geht auch, das ist vermutlich die einfachste Lösung nach dem Flexgrid.

Gruß Rainer

soo.
wir reden über das MSFlexgrid nehme ich an

Private Sub Command1_Click()
MSFlexGrid1.AddItem „1“
End Sub

Ich möchte aber nach der 1 noch 3 Spalten mit Informationen füllen.
und auch gern felder oder ganze zeilen Updaten :confused:

bis gleich

Hallo,

wir reden über das MSFlexgrid nehme ich an

ja.

Private Sub Command1_Click()
MSFlexGrid1.AddItem „1“
End Sub

Nein. :smile:

Ich möchte aber nach der 1 noch 3 Spalten mit Informationen
füllen.
und auch gern felder oder ganze zeilen Updaten :confused:

Natürlich.

Also … mit Msflexgrid1.Rows legst Du fest, wie viele Zeilen das Flexgrid hat. Mit Msflexgrid1.Cols legst Du die Anzahl der Spalten fest.

Wenn Du dann in die dritte Zeile, vierte Spalte etwas schreiben möchtest, geht das mit …

MsFlexgrid1.Textmatrix (4, 3) = „Test“

Das in einer Schleife zu verwenden ist ja sicher kein Problem.

Gruß Rainer

Stimmt! Geht auch, das ist vermutlich die einfachste Lösung
nach dem Flexgrid.

(-: (-: (-:

Ohne Worte

Mit Grüßen
Carsten

Stimmt! Geht auch, das ist vermutlich die einfachste Lösung
nach dem Flexgrid.

(-: (-: (-:

Ohne Worte

Hallo Carsten,

sorry, was meinst du, ich kann das nicht interpretieren. Was ein Flexgrid ist weiß ich nur vage, müßte ich mal in eine Form einbauen und schauen, insofern kann ich den nicht lächelnden Smiley nicht einordnen auf was der sich bezieht.

Gruß
Reinhard

Hallo Reinhard,

Was ein Flexgrid ist weiß ich nur vage

das ist nur eine Tabelle. Man kann eine Tabelle oder Abfrage einer Datenbank damit anzeigen, muss aber nicht. Man kann die Tabelle leer formatieren und füllen wie man mag.

Gruß Rainer

Also … mit Msflexgrid1.Rows legst Du fest, wie viele Zeilen
das Flexgrid hat. Mit Msflexgrid1.Cols legst Du die Anzahl der
Spalten fest.
MsFlexgrid1.Textmatrix (4, 3) = „Test“
Gruß Rainer

OMG, ist das GEIL !!!

Ich melde mich :stuck_out_tongue:
DANKE Rainer !!!
Thx a lot!!!

Flexgrid ist eine feine Sache und dieses Thema bietet hier schon genug Infos & Code um das ganze mal zu testen!!

danke, mfg joe

Hi Joe,

Flexgrid ist eine feine Sache …

ja. :smile: Es lauert zwar auch noch eine kleine Falle, aber damit muss ich Dich jetzt nicht verunsichern, das kommt erst viel später, wenn Du Zeilen mit MsFlexGrid1.RemoveItem löschst.

Wenn Du neuen Text einfügst, kannst Du den gesamten Text im Flexgrid einfach mit MsFlexGrid1.Clear löschen.

Gruß Rainer

Habe alle Daten im Flexgrid und ändere sie auch auf Knopfdruck.
und ich kann Scrollen!!

Eine frage hätte ich noch, naja 2.
Wie kann ich die Spaltenbreite festlegen ?

Ich habe nun 60 Zeilen. Nun würde ich gern ein paar Ausblenden ohne das die Nummerierung der Zeilen sich ändert, da ich ja auf diese Bezug nehme.

mfg joe

Hi Joe,

Wie kann ich die Spaltenbreite festlegen ?

MsFlecgrid1.ColWidth(0) = 2000 stellt Spalte Null auf 2000 Twips breite. Einfach mal testen dann siehst Du schon, wie breit das ist.

Ich habe nun 60 Zeilen. Nun würde ich gern ein paar Ausblenden
ohne das die Nummerierung der Zeilen sich ändert, da ich ja
auf diese Bezug nehme.

Keine Idee. So viel ich weiß, unterstützt das das Flexgrid nicht. Ich würde das dann anders lösen.

Die Daten in einem mehrdimensionalen Array halten und nur die relevanten im Flexgrid anzeigen.

Gruß Rainer

Wenn Du neuen Text einfügst, kannst Du den gesamten Text im

Flexgrid einfach mit MsFlexGrid1.Clear löschen.

Hallo Rainer,

ich bin ja ne faule Socke und sehe da gleich, wenn ich nix eingebe ist es auch gut.

Erst Text eingeben und den dann danach gleich zu löschen ist mir zu stressig *kicher*

Schüttel jetzt nicht den Kopf, sowas schreibe ich nur um Leute die ich mag zu frotzeln :smile:

Schon klar was du meinst.

Gruß
Reinhard

Hi Joe,

ich bin ja ne faule Socke

Du bist Programmierer? Dann ist das Bedingung. :smile:

und sehe da gleich, wenn ich nix eingebe ist es auch gut.

Erst Text eingeben und den dann danach gleich zu löschen ist
mir zu stressig *kicher*

Schüttel jetzt nicht den Kopf, sowas schreibe ich nur um Leute
die ich mag zu frotzeln :smile:

Schon klar was du meinst.

Keine Bange. :smile:

In der Betreffzeile sehe ich noch ‚sortieren‘.

Wenn es sein soll, sortiert das Flexgrid auch, auch Mehrspaltig. Alphabetisch, numerisch, aufwärts, abwärts … wie gewünscht.

Gruß Rainer

Jawohl,
es gibt den Paramter:

MSFlexGrid1.RowIsVisible

der funktioniert aber irgendwie nicht.
Aber was es auch tut ist
'MSFlexGrid1.RowHeight(0) = 0
somit ist die Zeile da, aber nicht Sichtbar. TRAUMHAFT

Danke Rainer !!!

Hi Joe,

Aber was es auch tut ist
'MSFlexGrid1.RowHeight(0) = 0
somit ist die Zeile da, aber nicht Sichtbar. TRAUMHAFT

*gg* Danke! :smile: Daß ich die Breite für eine Spalte auf Null stellen kann wußte ich, daß das mit einer einzelnen Zeile auch geht nicht. :smile: Du siehst, ich lerne hier auch ständig dazu.

Gruß Rainer

Gibt es ne Möglichkeit immer die Aktive Zeile, die ich bearbeite zu markieren. ?

MSFlexGrid1.row(zähler).Font.Bold

das geht leider nicht…

mfg jonny

Gibt es ne Möglichkeit immer die Aktive Zeile, die ich
bearbeite zu markieren. ?

sieh Dir das mal an:

 MSFlexGrid1.Col = 0
 MSFlexGrid1.ColSel = MSFlexGrid1.Cols - 1

Oder Du gehst in einer Schleife durch und änderst die Hintergrundfarbe jeder Zelle einzeln mit

Msflexgrid1.Row = r
Msflexgrid1.col = c
MsFelxGrid1.CellbackColor = VbRed

z.B. auf rot.

Gruß Rainer