Erstellt ein Monats-Kalender - Control
Property | Datentyp(Read/Write) | Hinweise |
Left | Integer (R/W) | Linke Position |
Top | Integer (R/W) | Obere Position |
Width | Integer (R/W) | Weite |
Height | Integer (R/W) | Höhe |
ClientHeight | Integer (R) | Höhe des Clientbereiches |
ClientWidth | Integer (R) | Breite des Clientbereiches |
Visible | Integer (R/W) | TRUE = sichtbar (voreingestellt) ; FALSE = nicht sichtbar |
Enabled | Integer (R/W) | TRUE = aktiv (voreingestellt) ; FALSE = inaktiv |
Color | UInteger (R/W) | Hintergrundfarbe des Kalenders |
TextColor | UInteger (R/W) | Textfarbe des Kalender |
Handle | HWND (R) | Handle des Control (nur lesen !) |
CtHandle | HWND (R) |
Handle des Containers (nur lesen !) alle visuellen Control haben ein eigenes unsichtbares Container Elternfenster |
Tip | String (W) | Der hier zugeordnete String wird als ToolTip angezeigt |
TitleColor | UInteger (R/W) | Hintergrundfarbe der Titelzeile des Kalender |
TitleTextColor | UInteger (R/W) | Textfarbe der Titelzeile des Kalender |
CurSel | String (R/W) |
Aktuell ausgewähltes Datum. Der Rückgabestring hat das Format: mm/dd/yyyy/dw (Monat/Tag/Jahr/Wochentag). Wochentag als Zahl: 0=Sonntag,1=Montag, 2=Dienstag .... 6=Samstag. Soll das Datum hier gesetzt werden, muss der String das Format mm/dd/yyyy ohne dw(Wochntag) haben ! |
CurDay | String (R/W) |
Datum in "Heute" . Der Rückgabestring hat das Format: mm/dd/yyyy/dw (Monat/Tag/Jahr/Wochentag). Wochentag als Zahl: 0=Sonntag,1=Montag, 2=Dienstag .... 6=Samstag. Soll das Datum hier gesetzt werden, muss der String das Format mm/dd/yyyy ohne dw(Wochntag) haben ! |
NoToDay | Integer (R/W) | True oder False. ( true = ohne "Heute" - Zeile) |
Border | Integer (R/W) | Umrandung. 0=ohne, 1=Linie , 2 = Sunken |
SUB | Argumente | Hinweis |
Create | (ByVal hParent As HWND, ByVal x As Integer, ByVal y As Integer) |
Elternfenster Pos. links Pos. Top Weite und Höhe werden automatisch berechnet, diese sind von Schriftart und ob ToDay verwendet wird oder nicht, abhängig. |
Invalidate | keine | Veranlasst das senden einer WM_PAINT Botschaft |
Repaint | keine | Wie Invalidate aber mit Nicht-Clientbereich |
setFont | (Face As String, ByVal size As Integer, ByVal bold As Integer, ByVal italic As Integer, ByVal underlin As Integer) |
Schrift-Name Schriftgröße 1=bold,0=normal 1=italic,0=normal 1=underlin,0=normal |
Event SUB | Argumente | Hinweis |
onSelChange | (CalPick as String) | Datum wird geändert. Der Rückgabestring hat das Format: mm/dd/yyyy/dw (Monat/Tag/Jahr/Wochentag). Wochentag als Zahl: 0=Sonntag,1=Montag, 2=Dienstag .... 6=Samstag. Hinweis: Wenn dieser Event direkt eine Messagebox aufruft und mit dem ScrollButton ein anderer Monat gewählt wird, kommt es zur unendlichen Wiederholung des Events der nicht stoppbar ist. Dieser Bug tritt auch in anderen Sprachen (zB. Powerbasic ) auf. Dagegen macht z.B. das Setzen der Caption eines beliebigen Control o. andere Aktionen, keine Probleme. |
onSelect | (CalPick as String) | Datum wird geändert. Der Rückgabestring hat das Format: mm/dd/yyyy/dw (Monat/Tag/Jahr/Wochentag). Wochentag als Zahl: 0=Sonntag,1=Montag, 2=Dienstag .... 6=Samstag. |
Ein Control mit mehreren Kalender:
Das ist möglich, indem die Größe nach Create geändert wird. Beispiel:
....
kal2.Create(form1.Handle,kalender1.Width+16 ,10)
Dim as Integer iWidth = kal2.Width
kal2.Width = (iWidth * 3) + 12 ' Padding zwischen den Kalendern ist meist 6 px - probieren'
....
Beispie:
#Include "winFBgui.bi" Dim Shared As FForm form1 Dim Shared As FMonthCal kalender1,kal2 Dim Shared As fButton btn1 Sub kalender1_Change( newDate As String) MessageBox(0, newDate ,"Inf",MB_OK) End Sub Sub btn1_Click form1.FormClose End Sub ' Fenter erstellen form1.Create("Test 1",90,90,480,400) form1.Color = &HFFBFBF kalender1.Create(form1.Handle,10,10) kalender1.Border = 2 kalender1.SetFont("Arial",16,0,0,0) kalender1.onSelect = @kalender1_Change kalender1.Color = &HFFE0D0 kalender1.TextColor = &H000FBF kal2.Create(form1.Handle,kalender1.Width+16 ,10) kal2.TitleColor = &HFF kal2.TitleTextColor = &HFFFFFF btn1.create(Form1.Handle,"Exit",80,300,100,30) btn1.onClick = @btn1_Click ' '---------------------------------------------------------- ' alles anzeigen form1.Show ExitProcess(0) End |
![]() |