안녕하십니까. 프로젝트가 너무 바쁘다보니 참여가 적어져서 죄송합니다.
Form에서 ToolBar/StatusBar등을 제외한 영역만 구하는 법을 같은
프로젝트 하시는 분이 물어봤는데, 알 듯 하면서 모르겠더군요.
물론 그냥 빼면 되긴 되겠죠... 그런데 UI가 동적으로 바뀌기 때문에
가급적이면 그런 작업 없이 알 수 있는 방법을 찾고자 합니다.
그러니까... Form안에 대각선을 그린다든지 하는 작업에 이용하려고 합니다.
그냥 ClientWidth/ClientHeight 등을 쓰면 StatusBar등이 있는 영역도
다 포함되기 때문에 그런 것들이 제외된 순수한 Form만의 영역은 아니게 됩니다.
Canvas.ClipRect도 있지만... 프로그램 내에서 InvalidateRect를 사용할
것이기 때문에 이 용도로는 곤란하군요...
아시는 분 꼭 좀 부탁드리겠습니다.
건강하세요.
좀 다른 방법으로... Canvas를 가지고 있는 객체(예 - TImage)를 alClient로 정렬을
하면 계산을 하지 않아도 이 객체의 영역이 클라이언트 영역이 되겠는데요.
이러면 ToolBar/StatusBar의 영역을 제외한 영역만 할당이 되니까요. 그리고 Canvas를
이용하면 그 객체에 직접 그리기도 할 수 있구요...
^^ 항상 즐코하세요.
김일영 wrote:
> 안녕하십니까. 프로젝트가 너무 바쁘다보니 참여가 적어져서 죄송합니다.
> Form에서 ToolBar/StatusBar등을 제외한 영역만 구하는 법을 같은
> 프로젝트 하시는 분이 물어봤는데, 알 듯 하면서 모르겠더군요.
> 물론 그냥 빼면 되긴 되겠죠... 그런데 UI가 동적으로 바뀌기 때문에
> 가급적이면 그런 작업 없이 알 수 있는 방법을 찾고자 합니다.
> 그러니까... Form안에 대각선을 그린다든지 하는 작업에 이용하려고 합니다.
> 그냥 ClientWidth/ClientHeight 등을 쓰면 StatusBar등이 있는 영역도
> 다 포함되기 때문에 그런 것들이 제외된 순수한 Form만의 영역은 아니게 됩니다.
> Canvas.ClipRect도 있지만... 프로그램 내에서 InvalidateRect를 사용할
> 것이기 때문에 이 용도로는 곤란하군요...
> 아시는 분 꼭 좀 부탁드리겠습니다.
> 건강하세요.