Все не связанные с клиентом события управления по умолчанию контролируются DefWindowProc .Я хочу создать свои собственные не клиентские элементы управления;это приводит меня к перехвату WM_NCPAINT msg и, вероятно, создает мой собственный дескриптор для управления окнами в не клиентской области.Если я хочу создать кнопку сворачивания или сворачивания, то мне придется воссоздать (с нуля?) И перехватить все события, которые предполагается обработать по умолчанию для оконной процедуры, потому что размер, расположение и атрибут моих пользовательских кнопок не являютсято же самое со стандартными.Тем не менее, я до сих пор не уверен, что это обычные способы создания пользовательских не-клиентских элементов управления, которые имитируют стандартные не-клиентские элементы управления, поэтому я хочу убедиться, что я на правильном пути:
- Не передавайте стиль окна по умолчанию, который задает создание элементов управления, не связанных с клиентом (кнопка «Свернуть», «Развернуть», «Закрыть»)
- Создание собственных элементов управления окнами (например, для кнопок) внутри области, не связанной с клиентом
- Перехватить все сообщения, относящиеся к ним.если пользовательское окно является окном по умолчанию, например кнопка «Свернуть», то отправлять сообщения относятся к этой кнопке? (Однако я вижу только сообщение WM_CLOSE, там нет WM_MINIMIZE или WM_MAXIMIZE)
У меня проблемы с обработкой всех процедур по умолчанию;если возможно, я бы хотел посмотреть, что внутри DefWindowProc (чтобы я мог имитировать их функции и одновременно добавлять свои)