Frage

Ich bin ein neues in WTL.

Eine der Klassen eines Projekts, an dem ich arbeite, ist die WTL -GUI -Klasse. Die Nachrichtenkarte enthält einen Datensatz:

COMMAND_CODE_HANDLER(0, OnMenuClick)

OnMenuClick Griff alle WM_COMMAND's werden nach dem Menüklick gesendet. Gibt es Möglichkeiten, einen weiteren Befehlshandler für bestimmte Nachrichten festzulegen? OnMenuClick Verarbeitet alle anderen?

Ich habe das versucht:

COMMAND_ID_HANDLER(ID_START_TASK, OnStartTask);
COMMAND_CODE_HANDLER(0, OnMenuClick)

Es klappt, OnStartTask Prozesse ID_START_TASK Befehle, aber es hängt von der Erklärung der Erklärung ab. Wenn ich die Strings -Deklarationsreihenfolge ändere, OnMenuClick Prozesse ID_START_TASK Befehle.

Ich benutze gegen 2008 + WTL 8.0

War es hilfreich?

Lösung

Aus Command_handler:

Die Nachrichtenkarte setzt bandiert auf true, bevor Befehlshänder aufgerufen wird. Wenn CommandHandler die Nachricht nicht vollständig verarbeitet, sollte sie auf False festgelegt werden, um anzugeben, dass die Nachricht weiter verarbeitet werden muss.

WTL ruft Handler an, solange keiner von ihnen signalisierte, dass sie die Nachricht behandelten. Wenn der Handler nicht explizit auf false fest setzt, übergibt WTL die Nachricht nicht an den nächsten Handler.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top