MID Form에서 ScrollBar가 생성되지 않게 하고 싶습니다.
Property의 AutoScroll를 False로 해도 되지 않고,
CreateParams에서의 Params.Style에서 해당 속성을 제거해도
Child Form이 MDI Form의 Client 영역을 벗어나면
자동으로 ScrollBar가 보입니다..
procedure TfrmZZ00020E.CreateParams(var Params :TCreateParams);
begin
inherited CreateParams(Params);
Params.Style := Params.Style and not (WS_HSCROLL or WS_VSCROLL);
end;
무엇이 잘못되었는지, 또는 다른 방법이 있는지 도움 부탁합니다..
도움주시면 감사하겠습니다.... (꾹벅)
> MID Form에서 ScrollBar가 생성되지 않게 하고 싶습니다.
>
> Property의 AutoScroll를 False로 해도 되지 않고,
> CreateParams에서의 Params.Style에서 해당 속성을 제거해도
> Child Form이 MDI Form의 Client 영역을 벗어나면
> 자동으로 ScrollBar가 보입니다..
>
> procedure TfrmZZ00020E.CreateParams(var Params :TCreateParams);
> begin
> inherited CreateParams(Params);
> Params.Style := Params.Style and not (WS_HSCROLL or WS_VSCROLL);
> end;
>
> 무엇이 잘못되었는지, 또는 다른 방법이 있는지 도움 부탁합니다..
>
> 도움주시면 감사하겠습니다.... (꾹벅)
>
>
임펠리테리입니다.
해보지는 않았구요. 한가지 가능성만 더 드리겠습니다.
혹 해보고 안된다고.. 시간만 낭비했다고 욕하시진 마세요. ^^;;;;
이론적으로는, MDI 마더 폼의 MDI 차일드 폼이 나타나는 영역은 MDI 마더 윈도우와는
별개의 윈도우입니다. 그러므로 MDI 마더 폼에서 암만 오버라이드하고 해도 아무
소용이 없는 것은 당연합니다. 이 클라이언트 영역의 윈도우핸들은 TForm.ClientHandle
이었던가? 정확하게 기억나지 않습니다만 프로퍼티에 저장됩니다. 그러니까..
이 핸들을 이용해서 윈도우 프로시저를 바꾸고, 그 프로시저에서 처리해야 되겠죠.
그럼 참고하시길...
임펠리테리 박지훈이었습니다.
(http://myhome.thrunet.com/~cbuilder)