ClipCursor funktioniert nicht
-
Schau dir mal dieses Tutorial an, Tag 4
http://download.pearsoned.de/leseecke/VCPLUS6_21Tg/data/start.htm
Gruß
:: NoName ::
-
Danke für den Tip.Aber hab dieses Buch schon
Hab jetzt im OnInitDialog geschriebenSetTimer(IDD_TIMER,500,NULL);
und dann ,
void CWerkzeugverwaltungDlg::OnTimer(UINT_PTR nIDEvent)
{
if(nIDEvent == IDD_TIMER)
{
GetClientRect(rRect);
ClipCursor(rRect);
}
}Aber dieser verfluchte Cursor will einfach nicht
-
Hmm, das sollte jetzt eigentlich gehen...
Teste mal mit einer MessageBox ob der Timer aufgerufen wird !Gruß
:: NoName ::
-
kommt nicht.
so wies aussieht komm ich gar nicht in den OnTimer
Gibt keine MessageBox aus.
Habs auch in der Klasse aufgelistet.Naja
Muss nochmals über die Bücher.
Danke nochmals für die Hilfe.Werd mal schaun,
ob ich mein Lehrer fragen kann.Ist ne Semesterarbeit.Schönen Abend noch
Thanks
-
Am besten mach es so:
1) Private Variable in der CTestDlg.h anlegen:
. . . //}}AFX_MSG DECLARE_MESSAGE_MAP() private: UINT m_nTimer; };
2) WM_TIMER erstellen und Code reinschreiben:
void CTestDlg::OnTimer(UINT nIDEvent) { // TODO: Add your message handler code here and/or call default if(nIDEvent == m_nTimer) { AfxMessageBox("Hello Programmer"); } CDialog::OnTimer(nIDEvent); }
3) Timer setten:
SetTimer(m_nTimer, 1000 /* 1 sek. */, NULL);
Gruß
:: NoName ::
-
Das Problem ist,ich komm gar nie in die Funktion
OnTimerund das mit der privat Variablen,hab ich so gelöst,
wies in "in 21 Tagen C++" gelöst mit dem Recourssensymbol.Was ich nicht versteh,wieso ich dem ClipCursor noch en TimeIntervall geben muss.
-
weil wenn ich normal den ClipCursor benutze,
merk ich beim ProgrammStart,dass sich der Cursor bewegt,
aber nicht ins Fenster,noch in nen bestimmten Bereich
-
Das Problem gabs hier schonmal, dass die OnTimer nicht aufgerufen wurde:
http://www.c-plusplus.net/forum/viewtopic.php?t=88553&highlight=timer+funktioniert
Gruß
:: NoName ::
-
danke für den Tipp.
Aber ich glaub mit dem Timer bin ich auf der falschen Spur.Vermute irgendwas stimmt nicht mit dem GetWindowRect.
Er bringt die Daten zu meinem rRect
Und der Cursor macht auch meist einen Sprung beim
aufstarten.Aber bei einem anderen Eintrag über den ClipCursor wurde
kein Wort über einen Timer gesagt.
-
So!!!
Habs nun endlich geschafft.
Den Befehl ClipCursor muss man wirklich
in regelmässigen Abständen ausführen.Danke nochmals für die Hilfe