Есть такой контрол, куда буковки можно писать и имя ему <<<<Edit>>>>. Так вот изменили его размер ,а не окна.
Всё, что я знаю о WM_SIZE - это то, что оно приходит главному окну и не содержит никакого намёка на ID моего Edit-а.
Consto Конечно. Если WM_SIZE передаётся через цикл обработки сообщений, то его можно запросто перехватить: Код (Text): while(GetMessage(&msg,0,0,0)){ if(msg.message == WM_SIZE && msg.hwnd == hEdit){ // обрабатываем } DispatchMessage(&msg); } Если не поможет, то есть ещё вариант с сабклассингом или хуком.
Насколько я понимаю это тоже самое, что и обработка в самой оконой процедуре Если да, то: WM_SIZE приходит только когда изменяю размер главного окна Если нет, то у меня так: invoke GetMessage,ADDR msg,NULL,0,0 cmp eax, 0 je ExitLoop invoke TranslateMessage, ADDR msg invoke DispatchMessage, ADDR msg jmp StartLoop ExitLoop: пробовал вставлять "if(msg.message == WM_SIZE..." в каждую строчку, нигде не работает PS: я не очень разбараюсь в TranslateMessage,DispatchMessage...
Consto Странно. Если Edit ресайзится через MoveWindow, то это сообщение должно приходить. Цитата из мануала: MoveWindow sends WM_WINDOWPOSCHANGING, WM_WINDOWPOSCHANGED, WM_MOVE, WM_SIZE, and WM_NCCALCSIZE messages to the window. Может, под "ресайзом" подразумевается что-то другое? Может, edit принадлежит модальному диалогу? Тогда все сообщения обрабатывает сам диалог и они не проходят через глобальный цикл обработки сообщений.
Quantum окно - обычное, размеры изменяются мышкой AsmGuru62 Сабклассинг помог Всем большое спасибо за помощь