vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevDataGrid - Gönnen Sie Ihrem SQL-Kommando diesen krönenden Abschluß!  
 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

Suche Visual-Basic Code
Kalender 
Autor: stephanl
Datum: 15.08.06 16:51

Hi,

habt ihr schonmal einen Kalender programmiert? Ich bin gerade dabei. Nun stehe ich nach langer erfolgreicher Zeit mal wieder vor einem Problem. Ich habe einen MS-FlexGrid. Meine Termine habe ich in Form von Picture1(index)-Boxen. Mein Problem: Das verschieben von den Terminen. Wenn zwei Termine auf die gleiche Uhrzeit kommen, müssen sie in der breite neu ausgerichtet werden. Und auch die Left-Eigenschaft muss verändert werden...

Bis jetzt habe ich das so gelöst:

   For g = Picture1.LBound + 1 To Picture1.UBound
    f = 0
        For i = Picture1.LBound + 1 To Picture1.UBound
            'If i = Index Then Exit For
            If Picture1(i).Top <= Picture1(g).Top Then
                If Picture1(i).Top + Picture1(i).Height >= Picture1(g).Top Then
                    f = f + 1
                End If
            End If
        Next
    z = 0
    If f = 0 Then Exit Sub
    'f = f + 1
        For i = Picture1.LBound + 1 To Picture1.UBound
            'If i = Index Then Exit For
            Label9.Caption = f
            If Picture1(i).Top <= Picture1(g).Top Then
                If Picture1(i).Top + Picture1(i).Height >= Picture1(g).Top Then
                    If f = 1 Then Picture1(0).Left = MSFlexGrid1.Left + 10
                    Picture1(i).Width = Picture1(0).Width / f
                    Picture1(i).Left = Picture1(0).Left + z * Picture1(i).Width
                    Label5(i).Left = 50
                    Label5(i).Width = Picture1(i).Width - 200
                    Label5(i).Height = Picture1(i).Height - Label5(i).Top - 100
                    z = z + 1
                End If
            End If
        Next
    Next
Das geht auch soweit. Nur jetzt habe ich eine neue Funktion implementiert. Jetzt können Termine unterschiedlich lang dauern. Wenn man jetzt Termine so hat:

_________________
TERMIN 1 |__________________
|||||||||||||||||TERMIN 2 |||||||||
|||||||||||||||||__________________
|||||||||||||||||TERMIN 3| TERMIN 4
|||||||||||||||||__________________

Nur wird das nicht so angezeigt. Das funktioniert nicht mehr. Letztendlich überdeckt dann TERMIN 1 TERMIN 3 zur Hälfte, klar, weil ja TERMIN1 und TERMIN 2 sich laut Code jetzt je 50% der Breite teilen.

Also wird das wohl nicht auf dem Weg gehen...

Habt ihr eine Idee, wie man das Problem lösen könnte? Falls das vom Code nicht reicht, kann ich euch den Code per mail zukommen lassen.

Liebe Grüße und danke!

STEPHAN
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Kalender1.329stephanl15.08.06 16:51
Re: Kalender764ModeratorMartoeng21.08.06 17:27
Re: Kalender726stephanl05.09.06 12:42

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