Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » Uhrzeit einstellen

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
14.06.2004, 09:27 Uhr
mr_groove



Hallo,

ich würde gerne eine Dialoganwendung schreiben, mit der man die Möglichkeit hat eine Uhrzeit einzustelln. Ich habe mir das so vorgestellt. Ich benötige zwei Felder, in dem einen sind die Stunden einzutragen, in dem anderen die Minuten. Das wäre ja jetzt recht einfach, wenn ich über ein Edit-Text Fenster gehen würde und den Benutzer einfach die gewünschte Zahl eingeben lasse. Die Anwendung sollte aber so funktionieren, dass sie nur per Pfeiltaste bzw. externer Controller bedienbar sein sollte. das heisst, es sollte bei der Pfeiltaste nach oben, das jeweilige Feld die nächstgrössere Zahl anzeigen.

Welche Felder wären hierfür am besten geeignet, gibt es solche Zahlenfelder schon vordefiniert?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
14.06.2004, 10:27 Uhr
Tommix



Hallo,
Du nimmst ein ganz normales Editfeld, markierst unter Eigenschafte/Formate "Nummer", fügst dann ein Drehfeld hinzu und markierst "Autom. Buddy" und als Anordnung links oder rechts, wie Du willst. Das Feld muss in der Tabulator-Reihenfolge direkt nach dem Editfeld kommen. Dann bekommt das Ding noch eine Member-Variable und dann kannst Du mit z.B.

C++:
m_spinButton1.SetRange(0, 59);


den Bereich setzen.

Gruss, Tommix
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
14.06.2004, 11:55 Uhr
mr_groove



Habs genau so gemacht,

nun hab ich noch zwei Fragen:

Muss ich nun noch etwas tun, damit sich die Zahlen in dem Edit-Fenster auch angezeigt werden? Denn wenn man jetzt auf die Pfeiltasten des Dreh-Feldes drückt passiert noch nichts. Habe dem Drehfeld die Variable m_spinButton1 zugeiwesen und den SetRange im InitDialog eingefügt.

Zweite Frage:

Kann ich der Applikation einfach irgendwie vorgaukeln, dass ich die Pfeiltaste gedrückt hätte. Würd das Ganze nämlich gerne mit nem Drehsteller bedienen. Der gibt mir ne nachricht, falls ich eine Raste weitergedreht habe. Daraufhin sollte die App dasselbe tun, wie wenn man die Pfeiltaste des Dreh-Feldes mit der Maus anklickt
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
14.06.2004, 12:05 Uhr
Tommix



1. "Buddy Ganzzahl Setzen" bei den Eigenschaften des Spins, hatte ich vergessen.
2. Versteh' ich nicht ganz. Wenn Du eine Funktion hast, die die Nachrichten des Drehstellers handelt, einfach:

C++:
CMyDialog::OnDrehstellerNachRechts() // wie auch immer
{
  UpdateData();
  m_minuten++;  // mit dem Klassenassi dem Editfeld zugefügt (int)
  if (m_minuten > 59)
  {
    m_stunden++;
    m_minuten = 0;
  }
  
  m_spinMinuten.SetPos(m_minuten);
  m_spinStunden.SetPos(m_stunden);

  UpdateData(FALSE);
}



Grus, Tommix
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ VC++ / MFC ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: