Q&A

  • WM_NCHitTest에대해 ~~~~
폼에서 켑션바를 없에고 움직이게 할려구 api를 찾아보니까.
WM_NCHitTest란게 있더라구여...그래서 이넘을 이용해서
움직이게 했는데....마우스 이벤트가 하나두 안먹혀여....
문제가 뭐져.....
이곳에서 찾은 소스로 함 해봐는데....
안돼네여....고수님들 답변좀.......^^

참고로 아래 소스는 여기서 찾은것니다...^^

procedure TForm1.WMNCHitTest(var M:TWMNCHitTest);
begin
inherited;
if M.Result = htClient then
M.Result := htCaption;
end;

1  COMMENTS
  • Profile
    최용일 2002.06.06 20:06
    안녕하세요. 최용일입니다.

    WM_NCHITTEST는 클라이언트 영역의 모든 마우스 이벤트에 반응합니다. Windowed Control이 아닌(TWinControl에서 파생되지 않은 TImage같은)컨트롤의 마우스이벤트는 무시되는 거죠... Windowed Control인 판넬이나 버튼같은 컨트롤은 괜찮습니다.

    그러니까 메세지를 통해서 들어오는 좌표값을 이용해서 마우스 이벤트가 먹혀야 하는 non-Windowed Control의 영역을 빼주시면 되겠네요...

    ^^ 항상 즐코하세요...