Accelerator und VS6

CodeFatal

Erfahrenes Mitglied
Hallo!
Ich arbeite gerade an einem MFC-Projekt unter Visual Studio 6.
Funktioniert auch alles so weit. Jetzt möchte ich aber Acceleratoren verwenden.
Und da liegt jetzt das Problem.
Ich habe unter Ressourcen einen Accelerator-Eintrag hinzugefügt und auch einen Accelerator angelegt. Als ID habe ich einen bereits exestierenden Button genommen.
Unter .Net war damit der Accelerator erledigt und funktionsbereit.
Unter VS6 kriege ich das Ding einfach nicht zum Laufen und mir aus der PreTranslateMessage(MSG* pMsg) so was wie Acceleratoren selbst zu bauen ist auch nicht Sinn und Zweck.

Habe auch schon hier und im Inet gesucht aber leider nichts gefunden...

Bitte helft mir.

Danke schon mal
Michael
 
Da muss vor TranslateMessage in der MessagePump ein TranslateAccelerator eingebaut werden. Je nach Rückgabewert darf dann TranslateMessage auch nicht mehr aufgerufen werden.
 
Hallo! Danke für die schnelle Antwort.
Leider sagt mir das mit dem TranslateAccelerator noch nicht viel. Kannst du mir da vielleicht nen Stück pseudo Code geben? bzw nen Tipp worunter ich in den MSDN was passendes finde?

Danke Michael
 
Einfach aus der MSDN gepastet (nur TranslateAccelerator eingegeben):

Syntax

int TranslateAccelerator( HWND hWnd,
HACCEL hAccTable,
LPMSG lpMsg
);
Parameters

hWnd
[in] Handle to the window whose messages are to be translated.
hAccTable
[in] Handle to the accelerator table. The accelerator table must have been loaded by a call to the LoadAccelerators function or created by a call to the CreateAcceleratorTable function.
lpMsg
[in] Pointer to an MSG structure that contains message information retrieved from the calling thread's message queue using the GetMessage or PeekMessage function.


Im Prinzip sieht's so aus:

GetMessage oder PeekMessage

TranslateAccelerator

Wenn weitermachen, dann das übliche TranslateMessage.

DispatchMessage.
 
Zurück