I noticed that the tab key never works on my programs, and after doing some searching, I figured out I need to use IsDialogMessage. The problem is, I have multiple dialogs running as tabs on a main dialog, and the tab key only goes to the tab control itself. Is the only way around this to handle each control manually? Or is there something that can be done on each dialog? I noticed TranslateAccelerator has the same issue, but it's not as much of a problem since I process all the menus in the main callback.
Edit: FINALLY figured out something that seems to work. I kept a global with the hwnd of the active tab (dialog), and used that in the call to IsDialogMessage.