www.ClickEXE.de Click.EXE - In 5 Minuten zum eigenen Programm!
Start Einloggen Einloggen Die Mitglieder Das Foren-Team Suchfunktion
34952 Posts & 6313 Themen in 35 Foren
Benutzername/Passwort:
  Login speichern
Forenübersicht » Click.EXE 4.0 » cX4: Beispielskripte im cX2Web-Format » DateTimePicker-Styles

vorheriges Thema   nächstes Thema
1 Post in diesem Thema (offen)
Seiten (1): (1)
Autor
Beitrag
Findus ist offline Findus  
DateTimePicker-Styles
130 Beiträge - Profi-Clicker
Im letzten Beispiel habe ich euch den DateTimePicker vorgestellt.

Aber warum eigentlich DateTimePicker, wenn er doch nur das Datum anzeigt?

Das Beispiel war nicht ganz vollständig. Es gibt noch einige Styles-Konstanten des DateTimePickers, die DTS-Konstanten (DateTimePickerStyles), die mit den normalen Fenster-Styles kombiniert werden.

2 Konstanten hatte ich in dem Beispiel angegeben, 12 und 14 für mit und ohne Checkbox.
Es gibt aber insgesamt 8 Konstanten, mit denen sich theoretisch 64 verschiedene Styles aufbauen lassen, darunter auch einige zur Anzeige der Zeit.

Kommen wir zu den Konstanten: Die wären:

DTS_SHORTDATEFORMAT = 0; Zeigt das Datum im Kurzformat an, also z.B. 10.04.2010, der Kalender kann aufgeklappt werden.
DTS_UPDOWN = 1; Zeigt anstelle des Kalenders UP-DOWN-Tasten an
DTS_SHOWNONE = 2; Zeigt eine Checkbox an
DTS_LONGDATEFORMAT = 4; Zeigt den Wochentag plus Datum an, also z.B. Samstag, 10.04.2010
DTS_TIMEFORMAT = 9; Zeigt die Zeit beim Aufruf des Kontrolls an, kann über UP-DOWN-Tasten geändert werden
DTS_SHORTDATECENTURYFORMAT = 12; Zeigt das Datum im Kurzformat an, also z.B. 10.04.2010, Unterschied zu 0 ist mir nicht klar
DTS_APPCANPARSE = 16; Doppelklick ins Anzeigefeld markiert kompletten Eintrag
DTS_RIGHTALIGN = 32; Zeigt den Monatskalender rechtsbündig an

Durch Kombinieren der Konstanten lassen sich die verschiedenen Styles aufbauen. Oft findet man im Netz oder Literatur die Kombination 12+2, das heißt also DTS_SHORTDATECENTURYFORMAT+DTS_SHOWNONE = 14. Das ist aber nicht ganz richtig, die Konstanten müssen verODERt werden, obwohl das Ergebnis stimmt. Warum?

Schauen wir uns die Konstantenwerte mal an. Also 0,1,2,4,9,12..... Warum 9 und 12?

Weil der Programmierer 2 Werte nicht zulassen möchte, und zwar die 8 und die 10.

Beispielkombinationen:
1 + 2 = 3
1 + 4 = 5
2 + 4 = 6
1 + 2 + 4 = 7
Die 8 lässt sich durch die Addition nicht herstellen. SUPER!!

Aber die 10 lässt sich durch eine Addition herstellen.
9 + 1 = 10!!

Deshalb müssen die Konstanten bitweise verODERt werden, denn 9 ODER 1 = 9
Warum denn das, werden sich einige fragen. Hier die Rechnung:

001001 = 9 ODER
000001 = 1
------------
001001 = Ergebnis 9

Warum will der Programmierer die 8 und die 10 nicht zulassen?

Machen wir uns die einzelnen Bits nochmal klar.

Bit 1: Kalender aufklappen =0 /Kein Kalender = 1, UP-DOWN wird angezeigt
Bit 2: Checkbox zeigen = 1 / keine Checkbox = 0
Bit 3: Wochentag zeigen = 1 / keinen Wochentag = 0
Bit 4: Zeit anzeigen = 1 / keine Zeit anzeigen = 0
Bit 5: Eintrag markieren = 1 / Eintrag nicht markieren = 0
Bit 6: Kalender rechtsbündig anzeigen = 1 / linksbündig = 0

Eine 8 wäre jetzt die 001000. Das bedeutet: Zeit anzeigen und den Kalender aufklappen. Dumm gelaufen ärgerlich
Bei der 10 genauso. 10 = 8 + 2 = 001010 . Zeit anzeigen, Checkbox anzeigen und Kalender aufklappen. So ein Sch...ß auch ärgerlich

Also, hat er sich gesagt, verwirre ich ein bisschen die anderen Programmierer, indem ich keine Hex-Werte sondern Zahlenwerte als Konstanten nehmen und mache aus der 8 eine 9.
Aber was mache ich den jetzt mit der 12? 12 = 8 + 4. Und die 8 gibt es doch nicht mehr? gelangweilt
Naja, dann definiere ich die 12 halt neu. Hoffentlich merkt das keiner.grosses Lachen

So oder ähnlich könnte es sich zugetragen haben.

So, jetzt aber Spaß beiseite. Das angefügte Beispiel zeigt euch die verschiedenen Kombinationen für die Zahlenwerte 0-15 (auch die 8 und die 10 lachend ) sowie die 16 und die 32 als Beispiel. (Wobei der rechtsbündige Kalender auch nicht in allen Kombinationen Sinn macht. Naja, lassen wir das mal........)

Bei den Styles mit UP-DOWN-Tasten müsst ihr zuerst ins Feld klicken, dann könnt ihr die Werte mit den Tasten verändern.
Beim Style 16 ein Doppelklick ins Feld, dann wird der ganze Eintrag markiert.

Viel Spaß wünscht
Findus


*** STRUKTUREN UND KONSTANTEN****************************************************************************************************

*** SystemTime-Struktur
Setze in [Struktur(SystemTime)._Aufbau]: 'wYear%=0;wMonth%=0;wDayOfWeek%=0;wDay%=0;wHour%=0;wMinute%=0;wSecond%=0;wMilliseconds%=0'
*** InitCommonControlEx-Struktur: Länge=8; dwICC-Konstante ICC_DATE_CLASSES = 256 (&H100 für Date- und Time-Picker- Klassen)
Setze in [Struktur(ICCEx_Type)._Aufbau]: 'dwSize&=8;dwICC&=256'

*** MCM-Konstanten und DTM-Konstanten für die DateTimePick-Messages
Setze in [MCM_GETCURSEL]: '&H1001'
Setze in [DTM_SETMCCOLOR]: '&H1006'
Setze in [DTM_GETMCCOLOR]: '&H1007'


*** Fenster-Style Konstanten für das Kalender-Control
Setze in [WS_CHILD]: '&H40000000'
Setze in [WS_VISIBLE]: '&H10000000'
Setze in [WS_BORDER]: '&H800000'
Setze in [WS_DLGFRAME]: '&H400000'

*** Erweiterte Fensterstyle Konstante für das Kalender-Control
>>...usw...<<
cX2Web-Code: (einfach anklicken, kopieren und in ... einfügen)
Hierfür benötigte Erweiterungen: Pro-Lizenz, Premium-Lizenz
Erstellt mit cX2Web - cX4 WebExport V3 (130 Skriptzeilen, cX Premium 4.0.4.1)



Der Post wurde 2 mal editiert, zuletzt von Findus am 10.04.2010 - 16:56.
Beitrag vom 10.04.2010 - 12:21
Diesen Beitrag melden   nach weiteren Posts von Findus suchen Findus`s Profil ansehen Findus eine E-Mail senden Findus eine Kurznachricht senden Findus zu deinen Freunden hinzufügen zum Anfang der Seite
Baumstruktur - Signaturen anzeigen
Seiten (1): (1)
vorheriges Thema   nächstes Thema

Gehe zu:  
Es ist / sind gerade keine registrierte(r) Benutzer und 53 Gäste online. Neuester Benutzer: Running
Alles gute zum Geburtstag    Wir gratulieren ganz herzlich zum Geburtstag:
kcwsoft (62)
aktive Themen der letzten 48 Stunden - Top-User
0
0

www.ClickEXE.de © 2018
Seite in 0.11361 sec generiert