vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Erstellen von dynamischen Kontextmen?s - wann immer Sie sie brauchen!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Fortgeschrittene Programmierung
Re: Labels dynamisch laden / Dayview 
Autor: Zardoz
Datum: 06.03.14 23:16

Hallo Okruegel,
dein Problem mit der Positionierung der Labels kann ich
nicht nachvollziehen. Steht eventuell Autosize auf True?
Du kannst alles mit einem einzigen Label-Array darstellen.
Ideal wäre ja ein 2D-Control-Array, dann könnte die eine
Dimension die Bahn enthalten und die andere Dimension
die Zeit. Control-Arrays sind aber immer 1D. Man kann
aber jedes 1D-Array in ein 2D-Array umrechnen und
umgekehrt. Du könntest daher ein 2D-UDT-Array anlegen
und darin zu jeder Bahn + Zeit den Index des dazugehörigen
Labels ablegen. Dann kann man vom Index auf die Bahn
schliessen als auch über das UDT-Array auf die Labels
zurückgreifen, um z.B. alle Labels einer Bahn zu löschen.
Eine Alternative wäre vielleicht noch das Flexgrid:

' Controls: 1 * MSFlexGrid
Private Sub Form_Load()
 
  Dim i&, j&, Zeit&, Von&, Bis&
 
  Zeit = 0
  Randomize
  With MSFlexGrid1
    .Redraw = False
    .BackColor = RGB(200, 200, 255)
    .Rows = 74
    .Cols = 16
    .HighLight = flexHighlightNever
    .FixedRows = 2
    .FixedCols = 1
    .ScrollBars = flexScrollBarBoth
    .ScrollTrack = True
    .BackColorFixed = RGB(36, 53, 81)
    .ForeColorFixed = RGB(212, 212, 223)
    .GridColor = RGB(90, 96, 132)
    .MergeCells = flexMergeRestrictColumns
    .MergeRow(0) = True
    .MergeCol(0) = True
    For i = .FixedRows To .Rows - 1
      .Row = i
      .Col = 0
      .CellFontSize = 12
      .Text = CStr(Zeit) & ":00"
      If ((i - .FixedRows) And 1) = 1 Then Zeit = (Zeit + 1) Mod 24
    Next i
    For i = 1 To .Cols - 1
      .TextArray(i) = WeekdayName(3)
      .Row = 0
      .Col = i
      .CellBackColor = RGB(192, 192, 208)
      .CellForeColor = RGB(85, 61, 69)
      .CellAlignment = flexAlignCenterCenter
      .Row = 1
      .Col = i
      .CellBackColor = RGB(192, 192, 208)
      .CellForeColor = RGB(85, 61, 69)
      .CellAlignment = flexAlignCenterCenter
      .Text = "Bahn" & Str(i)
    Next i
    For i = .FixedCols To .Cols - 1
      Von = .FixedRows + Int(Rnd * 24)
      Bis = Von + Int(Rnd * 20)
      .TextMatrix(Von, i) = "Spieler" & Str(i)
      .Row = Von
      .Col = i
      .CellForeColor = RGB(200, 200, 200)
      .RowSel = Bis
      .ColSel = i
      .FillStyle = flexFillRepeat
      .CellBackColor = QBColor(1 + (1 + i) Mod 15)
      .FillStyle = flexFillSingle
    Next i
    .Row = .FixedRows
    .Col = .FixedCols
    .ZOrder vbBringToFront
    .Redraw = True
  End With
 
End Sub

Gruss,

Zardoz

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Labels dynamisch laden / Dayview2.303okruegel04.03.14 02:12
Re: Labels dynamisch laden / Dayview1.221Franki06.03.14 01:24
Re: Labels dynamisch laden / Dayview1.255okruegel06.03.14 02:52
Re: Labels dynamisch laden / Dayview1.198Blackbox06.03.14 18:31
Re: Labels dynamisch laden / Dayview1.288okruegel06.03.14 19:44
Re: Labels dynamisch laden / Dayview1.186Zardoz06.03.14 23:16
Re: Labels dynamisch laden / Dayview1.239okruegel06.03.14 23:56
Re: Labels dynamisch laden / Dayview1.216Zardoz07.03.14 21:15

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel