C++빌더 완전정복 카페에서 복사해 온 글입니다.
(
장성호 차장 )
http://cafe.naver.com/bcbmaster.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=1511&
사실 TPageControl에 대해 잘모르는데 억지로 팁을 생각해서 올리는 것입니다.
지금 몇가지 생각나는것 올려두고 나중에 수정 및 업그레이드를 하도록 하면 될것 같구..
이렇게라도 올려놓아야 나중에 기억하기 좋을듯 해서요
탭 위치 조정
기본적으로 PageControl에 탭을 추가하면 위와같은 화면입니다.
그런데 위 탭위 위치를 상하 좌우 원하는 위치로 옮길수 있다는 사실 다들 아시겠죠?
TabPosition을 조정하면 됩니다.
TabPosition은 tpLeft, tpRight , tpTop , tpBottom 네가지가가 있는데
위 그림은 TabPosition을 tpBottom으로 설정한것입니다.
멀티라인 탭
또 다음과 같이 MultiLine으로 탭이 표시할수도 있습니다.
프로퍼티에서 MultiLine:=true 해주면 끝..
탭버튼이 이미지 넣기
탭버튼이 TImageList를 설정해서 Image아이콘을 표시할수도 있습니다.
그냥 TImageList 하나 폼위에 올리고 TPageControl의 Images에 설정하면 끝입니다.
탭버튼이 큰 이미지 넣기
그런데 위 이미지 아이콘 설정방법에 16x16 이미지 말고 원하는 크기의 이미지를 마음대로 넣을수 있습니다.
이것도 간단합니다.
그냥 TPageControl의 Images등록된 TImageList의 Width와 Height의 크기를 원하는 크기로 정하고
적당한 Image를 올리기만 하면 됩니다.
TImageList 의 Height크기에 맞춰 자동으로 Tab의 크기가 조절됩니다.
만약 TImageList 의 Height 크기보다 Tab의 높이가 더 크게하거나 원하는데로 조정하고 싶으면
TabWidth / TabHeight를 조정하시면 됩니다.
기본값이 0인데 , 0 으로 해놓으면 자동으로 조절되구요
탭 스타일 변경
TPageControl의 Caption의 Style을 기본적으로 tsTabs 로 되어있습니다.
위에 이미지는 모두 tsTabs 스타일입니다. 이 캡션의 모양을 버튼이나 플랫버튼 모양으로 바꿀수 있습니다.
간단히 Style을 tsButtons 나 tsFlatButtons로 변경하면 됩니다.
Style = tsButtons
Style = tsFlatButtons
탭을 안보이게
위에 탭의 위치조정으로 탭의 위치를 상/하/좌/우 원하는 곳에서 보이게 할수있지만
탭을 안보이게 할수는 없다.
탭을 안보이게하고 TPageControl에 여러 TabSheet를 추가해서 사용하는 방법은?
1) 각 TabSheet에서 TabVisible을 false로 한다.
2) 그런다음 PageControl에서 ActivePageIndex를 조절한다.
그러면 PageControl에서 Tab은 보이지 않고 PageControl위에 원하는 TabSheet를 보여줄수 있다.
procedure TForm1.FormCreate(Sender: TObject); var idx: Integer; begin TabSheet1.TabVisible:=false; TabSheet2.TabVisible:=false; TabSheet3.TabVisible:=false; TabSheet4.TabVisible:=false; PageControl1.ActivePageIndex:=0; end; procedure TForm1.Button1Click(Sender: TObject); begin if PageControl1.ActivePageIndex< (PageControl1.PageCount -1 ) then PageControl1.ActivePageIndex:=PageControl1.ActivePageIndex+1 else PageControl1.ActivePageIndex:=0; end; |
오늘을 요기까지 ...
그럼..
'프로그래밍' 카테고리의 다른 글
LOG_PRINTF 문자열 길이 제한을 벗어버리자 (0) | 2012.03.22 |
---|---|
Launcher 만들기 (0) | 2012.03.22 |
C++빌더 2010에서 Build Event 사용하기 (0) | 2010.12.07 |
C++builder 2010 Class Explorer (0) | 2010.03.02 |
F1008 Out of memory 에러 뜰때 (0) | 2010.01.31 |