Fkt. DateTimePicker

Hier könnt ihr sowohl zur x86 Architektur als auch zu Win32ASM Fragen stellen.

Moderatoren: crack, Krüsty, Marwin

Fkt. DateTimePicker

Beitragvon bubsoft » Dienstag 28. Juni 2005, 14:00

Hallo Forum,

habe eine Frage zu der Funktion DateTimePicker: ich habe eine Dialogbox zur Bearbeitung einer INI.Datei mit einem Ressourceneditor erstellt und zwar mit zwei Eingabefelder und einem DateTimePicker. Das funktioniert alles bestens. Vom Prgramm werden bei Aufruf der Dialogbox die beiden Eingabefelder mit dem vorhandenen Wert der INI-Datei vorgeblendet. (SetDlgItemText). Nun mein Problem. Im Eingabe bzw. Auswahlfenster vom Picker erscheint immer das aktuelle Datum. Auch hier würde ich gerne das letzte ausgewählte Datum aus der INI Datei einblenden. Geht das überhaupt? Wenn ja ..wie?

Gruß aus einem 30 Grad warmen Büro

Ulli (noch 125 Tage bis zur Rente)
bubsoft
Member
 
Beiträge: 10
Registriert: Donnerstag 18. September 2003, 14:40

Beitragvon Marwin » Mittwoch 29. Juni 2005, 16:46

Ich kann nicht ganz nachvollziehen, worin dein Problem besteht. Du Werte der beiden Eingabefelder ließt du doch aus der INI-Datei aus und weist sie den Feldern zu. Genauso sollte es auch mit dem Datum gemacht werden.

Marwin
Benutzeravatar
Marwin
Moderator
 
Beiträge: 307
Registriert: Donnerstag 8. Mai 2003, 21:19
Wohnort: Seelow, Deutschland

Beitragvon bubsoft » Donnerstag 30. Juni 2005, 10:27

Hallo Marvin,
natürlich habe ich es schon versucht, mit (SetDlgItemText) das Feld des Date Pickers zu schreiben. Das funktioniert aber nicht. Vom Ressourceneditor wurde die Felddefinition mit IDC_DTP1 (DatePicker) angelegt und nicht mit IDC_EDTx (EditText). Vielleicht liegt es dadran. Habe auch schon testweise aus dem ---DTP ein ...EDT gemacht. Dann klappt sowohl die Anzeige nicht; ... auch die Auswahl eines neuen Datums wird der Anwendung nicht mehr übergeben. Kann (SetDlgItemText) überhaupt ein DTP-Feld beschreiben?


Gruß Ulli (noch 123 Tage bis zur Rente) :P :P
bubsoft
Member
 
Beiträge: 10
Registriert: Donnerstag 18. September 2003, 14:40

Beitragvon Marwin » Donnerstag 30. Juni 2005, 20:24

Anscheinend musst du auf dieses DateTimePicker anders zugreifen. Am besten suchst du einmal in der MSDN ( http://msdn.microsoft.com ) nach DateTimePicker. Dort solltest du eigentlich ein paar Informationen finden können.

Marwin (auf meine Rente kann ich wohl ewig warten :D )
Benutzeravatar
Marwin
Moderator
 
Beiträge: 307
Registriert: Donnerstag 8. Mai 2003, 21:19
Wohnort: Seelow, Deutschland

Beitragvon bubsoft » Dienstag 5. Juli 2005, 12:23

Hallo Marwin, hallo Forum,

ich habe den Fehler gefunden. Man kann ein DTP-Feld nicht mit SetDlgItemText beschreiben. sondern muss SendMessage benutzen:

invoke GetDlgItem, hKnd, IDC_DTP1 ;DateTimePicker Control
mov sdc_handle, eax
invoke SendMessage, sdc_handle, DTM_SETSYSTEMTIME, NULL, addr wYear

Mit DTM_SETSYSTEMTIME teilt man mit, dass ein Datum gesetzt werden soll, und unter "addr wYear" wird eine Datenstruktur erwartet, in die das gewünschte Datum eingestellt wird. Und die sieht so bei mir defaultmäßig aus:

wYear dw 2011
wMonth dw 8
wDayOfWeek dw 1
wDay dw 19
wHour dw 0
wMinute dw 0
wSecond dw 0
wMilliseconds dw 0

Bei falschen Werten wird automatisch das aktuelle Datum eingeblendet!!

Man lernt halt nie aus.

Gruß Ulli (noch 118 Tage bis zur Rente) :P :P
bubsoft
Member
 
Beiträge: 10
Registriert: Donnerstag 18. September 2003, 14:40


Zurück zu Assembler

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder

cron