반응형
델파이에서 PageControl을 사용하다가 보면 Tab의 Visible 속성을 False로 해놓을 경우에 테두리가 존재해서 신경이 많이 쓰였습니다. 그렇다고 PageControl이나 TabSheet의 속성에 Border을 None로 처리하는 Propery 같은 것이 없었고, 따로 처리할려니 영 찝찝하고.. (결국에는 따로 처리하긴 했습니다. ㅠ_ㅠ)
이렇게 말씀드려도 비개발자분이시거나 저 테두리를 지금 처음(?)보셨다는 개발자분들은.. 이게 뭐 대수냐고 하실지 모르겠지만 은근히 거슬립니다. Client 내부의 Width, Height 도 8 픽셀정도씩 차이가 나기 때문에 이미지 등이나 Width, Height 가 고정된 프로그램에서는 확실히 영향이 있습니다.
위의 화면에 PageControl의 테두리 보이시나요? 다음 화면과 비교해보시죠~
차이점이 느껴지시나요? 전 테두리가 없는 것이 훨씬 보기가 좋네요^^
그렇다면 Source 나갑니다~
// 우선 선언부에 요로코롬 선언을 합니다. private FOldTabProc : TWndMethod; procedure TabWndProc(var Msg: TMessage); // Form의 Create 이벤트에 아래와 같이 작성을 합니다. procedure TfrmMain.FormCreate(Sender: TObject); begin FOldTabProc := pageMain.WindowProc; pageMain.WindowProc := TabWndProc; end; // TabWndProc 함수를 작성하면 -끗- procedure TfrmMain.TabWndProc(var Msg: TMessage); begin FOldTabProc(Msg); // uses commctrl if Msg.Msg = TCM_ADJUSTRECT then begin PRect(Msg.LParam)^.Left := 0; PRect(Msg.LParam)^.Right := pageMain.ClientWidth; Dec(PRect(Msg.LParam)^.Top, 4); PRect(Msg.LParam)^.Bottom := pageMain.ClientHeight; end; end;
반응형
'Programming > Delphi' 카테고리의 다른 글
[Delphi] 듀얼모니터일 때 주모니터에 폼 띄우기 (0) | 2022.05.24 |
---|---|
델파이 스킨 적용 (0) | 2016.03.03 |
RAD Studio 10 seattle 완전삭제 방법 (0) | 2015.12.02 |
<펌> Hook 에 대한 또 다는 설명 (0) | 2015.12.02 |
[Delphi] WMI(Windows Management Instrumentation) 사용하기에 앞서 (0) | 2015.01.28 |