PreTranslateMessage in C++/CLI
-
Hallo Leute,
in einem alten MFC Project benutze ich in einem Thread die PreTranslateMessage Methode, nun versuche ich das Programm in C++ / CLI zu konvertieren.
In CLI habe ich jedoch kein PreTranslateMessage, gibt es für die Methode einen Ersatz in CLI oder was muss ich tun um die gleiche Funktionalität in .Net zu bekommen.Danke für die Hilfe
-
Du meinst wohl "Windows-Forms", oder? Denn in CLI (was soll das sein) gibt es keine Fenster...
In Windows-Forms kannst Du "PreProcessMessage" verwenden...
-
Hmm eigentlich habe ich kein Form in dem Thread.
Hier mal mein Code, vieleicht ist es dann besser zu verstehen:
void CCommunicationThread::RunThread() { MSG m_msgCur; for (;;) { DWORD dwWait = MsgWaitForMultipleObjects(1, &g_hFlAttach, FALSE, 200, QS_ALLEVENTS); switch (dwWait) { case WAIT_OBJECT_0 +1: if (PeekMessage(&m_msgCur, NULL, 0, 0, PM_REMOVE)) { if (m_msgCur.message == WM_QUIT) { return; } if (m_msgCur.message == WM_CHANGE_OPTIONS) { //Some Code.... } else { if ( !PreTranslateMessage(&m_msgCur)) { TranslateMessage(&m_msgCur); DispatchMessageA(&m_msgCur); } } } break; case WAIT_OBJECT_0: case WAIT_TIMEOUT: GetData(); break; } } }
-
Und was hat das ganze mit CLI zu tun???
Das ist "normales" WinAPI...
Und was hat "PreTranslateMessage" mit WinAPI zu tun???Du musst Dir schon die MFC kaufen, damit Du dies nutzen kannst...
-
Wenn ich es richtig verstehe, möchte er das was er als WinAPI (alt) gepostet hat, in C++/CLI (bzw. Managed) haben.
-
Richtig ich möchte das ganze in C++ / CLI konvertieren,
die WinAPI Methoden habe ich per DLL Import gemacht,
das geht auch alles,
das einzige was halt noch fehlt ist die PreTranslateMessage Methode,
da dies aber eine MFC Methode ist suche ich einen Ersatz dafür in C++ / CLI.
-
Ob es sowas in Managed gibt ka, aber vllt. hilft Dir ja das weiter
http://www.c-plusplus.net/forum/viewtopic-var-t-is-169090.html(was Du ggf. aber mit dem Import schon gemeint haben könntest)
-
Ja die WinAPI Sachen sind kein Problem, das habe ich alles schon gemacht.
Es geht nur um die PreTranslateMessage Methode, da diese ja keine WinAPI Methode ist.Naja wenn das niemand weis, dann muss ich mir überlegen wie ich das sonst lösen kann.
Trozdem danke für die Hilfe
-
Naja, in Deinem geposteten Code lässt prüfst Du ob per PreTranslateMessage das Ereignis verarbeitet wurde. Es geht nicht hervor, was Du vorab abfangen willst.
Schau Dir doch mal das Stichwort von Jochen an oder sieh Dir das Application Objekt mal näher an.
Welches Ziel hast Du denn genau bzw. was willst Du mit dem PreTranslateMessage machen ?