Нет, вы недоразумение. SS_NOTIFY не заставляет ваш CStatic получать сообщения, он заставляет CStatic ретранслировать сообщения обратно родителю. Так что «Теперь я могу получать события сообщений через карту сообщений непосредственно в MyStatic», основано на ложной предпосылке.
Это важное замечание, поскольку элемент управления может принимать сообщения только для самого , а не для своих детей, если только эти дети не «играют вместе», передавая сообщения или выполняя другие трюки (глобальная перехват, ...); но эти случаи являются исключением, «нормальным» способом является то, что каждое окно получает сообщения для себя.
Таким образом, это отвечает на ваш вопрос: нет, нельзя позволить и родителю (ваш CDialog), и ребенку (ваш CStatic) получать события мыши, не делая это «вручную» или вовлекаясь в утомительные действия по маршрутизации сообщений. Поэтому в вашем случае вам нужно выполнить GetParent () -> SendMessage (WM_LBUTTONDOWN, ...) и т. Д., Вручную воссоздавая значения WPARAM и LPARAM; или вызов OnLButtonDown непосредственно на CDialog: GetParent () -> OnLButtonDown (...). Вам придется подумать о том, какие координаты мыши вы передаете обратно в CDialog, хотя, возможно, вам придется преобразовать их в клиентские координаты CDialog.