CMonthCalCtrl
-
Hallo,
ich habe in einem Dialog das CMonthCalCtrl eingebunden.Über OnSelchangeMonatskalender erhalte ich ein Falsches Datum.
Warum?void CDlgTerminvw::OnSelchangeMonatskalender(NMHDR* pNMHDR, LRESULT* pResult)
{CTime ct;
m_MonthCal.GetCurSel(ct);
m_pKalenderDatum.Format(_T("%02d.%02d.%2d"),
ct.GetDay(),ct.GetMonth(),ct.GetYear());
UpdateData(FALSE);*pResult = 0;
}
Wie kann ich dem Dialog ein neues Datum übergeben, was im CMonthCalCtrl als Eintrag angezeigt wird.
Für ein Info wäre ich Dankbar.
MfG
Peter Prescher
-
Die Antwort findest Du in der !!! MSDN !!!, wenn Du nach MCN_SELCHANGE suchst.
-
In in der MSDN habe ich schon nachgelesen bevor ich mich meine Fragen gestellt habe.
Leider findet man in der MSDN keinen Hinweis wie man wie dieses Problem lösen könnte. Im übrigen nutze ich Code aus dem Beispiel, aber irgendwie scheint das MonthCalCtrl nicht korrekt zu arbeiten.Hat den jemand dieses Steuerelement schon mal eingesetzt?
MfG
Peter Prescher
-
!! Aus der MSDN !!
**
Parameters: lpNMSelChange
Address of an NMSELCHANGE structure that contains information about the currently selected date range.
**
-
Wie gesagt in der MSDN habe ich selber nachgelesen.
-
... ich glaub er wills' garnicht begreifen ...
-
Der will das schon.
Ich habe mich noch mal weiter umgesehen und bin auf die Lösung des Problems gekommen.
Es handelt sich um einen Bug.
In der Microsoft Knowledge Base Article - 235355 wir eine Lösung angeboten.Danke für die so erfolgreiche Hilfe????
MfG
Peter Prescher
-
Also hast Du doch NICHT begriffen, was ich Dir zu übermitteln versuchte!
Ich schrieb, dass Du den Parameter der Funktion OnSelchangeMonatskalender nehmen sollst, in dem das richtige Datum steht und nicht die buggige Funktion GetCurSel!
-
Doch habe ich. Aber probiere es selbst aus. Du bekommst nicht das richtige Datum.
MfG
Peter Prescher
-
Funzt ohne Probleme !
-
Wie ? Auch einem Textfeld das ausgewählte Datum anzeigen lassen?
MfG
Peter Prescher
-
Ich bekomme eine SYSTEMTIME-Struktur, da steht das richtige Datum drin. Egal wo ich das hinschreibe, es bleibt immer das Richtige!
-
Kannste mir bitte mal den Code zukommen lassen.
Danke im vorraus.
MfG
Peter Prescher
-
void CDlgTerminvw::OnSelchangeMonatskalender(NMHDR* pNMHDR, LRESULT* pResult) { LPNMSELCHANGE pSelChange = reinterpret_cast<LPNMSELCHANGE>(pNMHDR); m_pKalenderDatum = CTime( pSelChange->stSelStart).Format(_T("%d.%m.%y")); UpdateData(FALSE); *pResult = 0; }
-
Ich danke nochmals, es funktioniert.
MfG
Peter Prescher
-
Sag ich doch schon die ganze Zeit *fg*
-
Wie kann dem Steuerelement ein neues Datum übergeben?
MfG
Peter Prescher