728x90
반응형
WM_SYSCOMMAND 메시지로 윈도우 폼의 타이틀 바가 아닌 클라이언트 영역에서 마우스를 눌렀을 때, WM_MOUSEDOWN 메시지에서 WM_SYSCOMMAND의 WParam으로 $F012를 보내면, 폼을 이동시키는 효과를 그대로 낼 수 있습니다.
보통 SC_CLOSE 등 미리정의된 상수가 있지만, 아래 값들은 상수로 정의되어 있지 않아서 WParam으로 직접 넣어 주면 됩니다.
OnMouseDown 이벤트에서 보통
이렇게 처리를 하게 되는데, 이렇게 하면 팝업 관련 이벤트가 제대로 발생하지 않으므로, 아래와 같이 Button을 검사해서 처리하도록 하면 되겠습니다.
보통 SC_CLOSE 등 미리정의된 상수가 있지만, 아래 값들은 상수로 정의되어 있지 않아서 WParam으로 직접 넣어 주면 됩니다.
$F001 : 우측 고정 넓이 조절 $F002 : 좌측 고정 넓이 조절 $F003 : 하단 고정 높이 조절 $F004 : 우하단 고정 전체 크기 조절 $F005 : 좌하단 고정 전체 크기 조절 $F006 : 상단 고정 높이 조절 $F007 : 우상단 고정 전체 크기 조절 $F008 : 좌상단 고정 전체 크기 조절 $F009, $F012 : 이동
OnMouseDown 이벤트에서 보통
ReleaseCapture; Perform(WM_SYSCOMMAND, $F009, 0); // 윈도우 이동
이렇게 처리를 하게 되는데, 이렇게 하면 팝업 관련 이벤트가 제대로 발생하지 않으므로, 아래와 같이 Button을 검사해서 처리하도록 하면 되겠습니다.
if (Button = mbLeft) then begin ReleaseCapture; Perform(WM_SYSCOMMAND, $F009, 0); // 윈도우 이동 end;
'프로그래밍 > 델파이' 카테고리의 다른 글
PlaySound 함수 이용 소리 내기. (0) | 2007.12.21 |
---|---|
[GR32] 다각형 영역만 클립보드로 복사하기 (0) | 2007.12.21 |
브라우저를 포함한 창의 크기를 HTML 소스에 따라 자동 조정하기 (0) | 2007.12.21 |
문자열에서 숫자만 추출하는 함수 (0) | 2007.12.21 |
TEdit에서 Alignement 처리하기.(왼쪽/가운데/오른쪽 정렬) (0) | 2007.12.18 |