3

バグを追跡していますが、ルートがWTLマクロを使用している可能性があると思われます。* _EXを使用する場合、および通常のマクロを使用する場合。BEGIN_MSG_MAP_EXについては、atlcrack.hに注記があります。

// Note about message maps with cracked handlers:
// For ATL 3.0, a message map using cracked handlers MUST use BEGIN_MSG_MAP_EX.
// For ATL 7.0 or higher, you can use BEGIN_MSG_MAP for CWindowImpl/CDialogImpl derived classes,
// but must use BEGIN_MSG_MAP_EX for classes that don't derive from CWindowImpl/CDialogImpl.

しかし、残りの部分やマクロはどうですか?たとえば、同じBEGIN_MSG_MAP_EXでCOMMAND_ID_HANDLERとCOMMAND_ID_HANDLER_EXの両方を使用できますか?

4

2 に答える 2

1

より多くのハンドラーをサポートするため、BEGIN_MSG_MAP_EXをお勧めします。また、BEGIN_MSG_MAPハンドラーもサポートしています。

于 2011-04-18T19:59:31.500 に答える
0

これをメインヘッダーファイルに追加すると、より安全になります(おそらくstdafx.h

#undef BEGIN_MSG_MAP
#define BEGIN_MSG_MAP BEGIN_MSG_MAP_EX

したがって、使用しているコードは、あらゆる面で優れているコードBEGIN_MSG_MAPに変換されます。BEGIN_MSG_MAP_EX

于 2011-08-31T04:09:50.703 に答える