www.mikrocontroller.net

Forum: PC-Programmierung CListCtrl und CDateTimerPicker


Autor: Karlheinz Druschel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Leuts,

ich habe hier mal wieder zwei Problemchen die wahrscheinlich keine
sind:

Ich habe hier ein CListCtrl, in welches ich kontinuierlich Werte
eintrage. Jetzt soll natürlich immer der aktuiellste Wert, also der
zuletzt und am Ende eingetragen wurde, sofort sichtbar sein. Wie stelle
ich das an ?

Das zweite betrifft eine Timepicker: Ich möchte die Auswahl auf Stunden
& minuten beschränken, geht auch mit .SetFormat "hh:mm"); Aber sobal
ich das mache, ist automatisch das 12h-Format aktiv, ich will aber 24h.
Wie ändere ich das um ?

Greets
Karlheinz

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
1. Nach dem Einfügen des neuen Elements LVM_ENSUREVISIBLE an das Control
senden.

2. Das Format wird mit der Nachricht DTM_SETFORMAT gesetzt (was anderes
macht der C++-Wrapper SetFormat auch nicht). Der übergebene Formatstring
muss für Deinen Fall mit großem H geschrieben werden, dann gibt es auch
das 24-Stunden-Format:

 .SetFormat("HH.mm");

Autor: Karlheinz Druschel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
1000 Dank, im Prinzip funktioniert das mit dem Zeitformat.
Aber wenn ich nun die Funktion GetTime() des Controls aufrufe, dann
stimmt die Minutenangabe nicht. Wenn ich Standardformat belaase klappt
das aber.

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Welche Variante von GetTime() verwendest Du denn?
Und was exakt heisst "Minutenangabe stimmt nicht"?

(Quelltext, Beispielwerte?)

Autor: Karlheinz Druschel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
COleDateTim t1 = p->GetTime ();
UINT m = t1.GetMinute();
UINT h = t1.GetHour();

h enthält nun die eingestellten Stunden, aber m enthält beispielsweise
eine 8, obwohl hh:22 eingestellt wurde.
Wenn ich die Funktion p->SetFormat("HH:MM") NICHt aufrufe bei der
Initialisierung, dann enthält m die eingestellte 22.

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Problem liegt am eigenartigen Formatstring, den Du verwendest.

"MM" bedeutet die Nummer des Monats mit führenden Nullen.

Wenn Du statt dessen Minuten haben wolltest, müsstest Du, wie gestern
bereits von mir beschrieben, "mm" verwenden.

Sieh Dir mal die Dokumentation des Formatstrings für SetFormat an:
http://msdn.microsoft.com/library/en-us/shellcc/pl...

Autor: Karlheinz Druschel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hm, das mit dem Monat wäre natürlich eine Erklärung:-)
1000 Dank für den Link


Greets
Karlheinz

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.