저는 경계선없는 창을 가지고 있는데,이 창의 유일한 자식은 항상 창 크기로 제 3 자 구성 요소입니다. 해당 구성 요소는 자신의 재량에 따라 특정 영역에서 WM_MOUSEDOWN
이 발생했을 때이를 알려주고 (경계선없는 것처럼) 창을 이동하거나 크기를 조정할 수 있기를 원합니다. 또한 문제의 이벤트를 결정하려고합니다.이벤트가 어린이에게 발생했을 때 경계선없는 창에서 Windows에서 사용자 마우스 중심 이동 또는 사용자 정의 창 테두리 크기를 조정하려면 어떻게해야합니까?
창에 경계선이없고 자식 창이 이미 마우스 메시지를 받았기 때문에 WM_NCHITTEST
을 덮어 쓸 수 있다고 생각하지 않습니다. (또는 다른 말로, 내 아이가 캡처하는 동안/WM_LBUTTONDOWN
를 얻을? 아니면 단지 첫번째 활성화시 전에 부모 윈도우는 항상 WM_NCHITTEST
를 얻을 수 있습니까?)
GTK +가 수동으로 모달 이벤트 루프를 실행하는 데 WM_NCLBUTTONDOWN
와 DefWindowProc()
를 호출하는 데 사용. 이것을하는 방법입니까?
약 SC_MOVE
의 내용은 WM_SYSCOMMAND
? 키보드 중심의 윈도우 이동 및 크기 조절을위한 것이지 마우스 구동 마우스가 아닌 것입니까?
아니면 수동으로해야합니까? 메시지 필터 상수 중 하나를 사용하는 자체의 모달 루프라는 것을 알고 있으며 Aero Snap을 수동으로 수행해야한다는 것을 알고 있습니다.
Windows Vista 이상에서는이 작업이 필요합니다.
감사합니다.
내 유일한 옵션은 어쨌든 WM_NCHITTEST를 사용하는 것입니까? 지금은 드래그 크기를 조절하는 신호가 'WM_LBUTTONDOWN' 핸들러 동안 전송되도록 문서화 되었기 때문에 나는 묻고있다. 비록 API를 아무 문제없이 변경할 수 있습니다. 낮은 비트 속임수도'SC_SIZE'와 함께 작동합니까? – andlabs
'WMNCHITTEST'은 당신 만의 * 옵션이 아닙니다. 그리고 네,'SC_SIZE'는 비슷한 낮은 비트 트릭을 가지고 있습니다. 나는 나의 대답을 업데이트했다. –
쿨, 고마워. 그리고 표준 방식으로 완벽을 기하기 위해서, 하위 클래스 인 WM_NCHITTEST만으로는 충분하지 않을 수도 있습니다. – andlabs