C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[49050] Re:TPageControl, TStringGrid, TPageControl 관련질문(수정 6회)
장성호 [nasilso] 1683 읽음    2007-04-25 09:17
빌더의 세계에 오심을 환영합니다.
그 매력에 한번 빠져보시길....

질문에 각각 답변 달겠습니다.

pd 님이 쓰신 글 :
: 폼으로 뭐좀 만들려고하는데 빌더는 첨써봐서 어려움이 생기네요..
: 이하에 질문이 많은데.. 어렵지않는 궁금증같습니다.
: 해결좀 해주세요.
:
: 1.
: 모든 RAD도구에서 접근방법은 두가지가있는것같습니다.
: 오브젝트 인스펙터로하는방법과
: 코딩으로하는방법이있는데
:
: PageControl1->Pages[0]->Caption= "캡션";
: 이것을 오브젝트 인스펙터에서 바로 쓸수있는방법은 없을까요?
: -----------------------------------

     답변 : 오브젝트 인스펙터에서는
              일단 TPageControl 로 접근할수는 없습니다.
              그러나 PageControl  Tabpage를 추가했다면   page를 선택하면 Page안에 TTabSheet 컨트롤이 있습니다.
              그 TabSheet  컨트롤을 선택해서 Caption을 수정하시면 됩니다.
    
  
: 2.
: 스플리터를 페이지 컨트롤 위에 달았습니다.
: 그런데 스플리터를 사용하니까 텝을 닫아버리네요.
: 텝공간은 스플리터로부터 보호를 하고싶은데 어떻게 해야합니까?
: -- ---------------------------------
      답변 : PageControl에 보면 Constraints라는것이 있습니다.
               이것은 Control의 최소 크기 , 최대크기를 지정할수 있습니다.
               0 으로 설정하면 제한이 없는것이 되구요
              
     
: 3.
: 도움말에서 이런예제를 보면
: __property Classes::TStrings* Cols[int Index] = {read=GetCols, write=SetCols};
: 제일뒤쪽의  {read=GetCols, write=SetCols}; 이부분은 무슨의미입니까?
: -----------------------------------
        답변 :  위에 한줄을 프로퍼티입니다.
                  프로퍼티란 class내에 어떤 변수가 있는데 그 변수에 직접적으로 접근하지 못하게 것입니다.
                  read는 그 변수에 값을 읽어올때  사용되는 함수를 지정한것이구
                  write는  변수에 값을 쓸때  사용하는 함수를 지정한것입니다.
     
: 4.
: TStringGrid 좌우정렬방법은 어떻게 해야하나요?
: -----------------------------------
        답변 : TStringGrid에서는 좌우정렬 기능을 지원하지 않습니다.
                 그러기 때문에 직접 canvas에 draw해줘야 합니다.
                 직접 draw는 TStringGrid의 OnDrawCell 함수안에서 하면 됩니다.

          예)

//왼쪽정렬 함수
void __fastcall strgridcenter(TCanvas *canvas, AnsiString cell, TRect Rect) {
    int LeftPos = ((Rect.Width() - canvas->TextWidth(cell)) / 2) + Rect.Left;
    int gab = ((Rect.Height() - canvas->TextHeight(cell)) / 2);
       canvas->FillRect(Rect);
       canvas->TextOut(LeftPos, Rect.Top+gab, cell);
}
//오른쪽 정렬 함수
void __fastcall strgridright(TCanvas *canvas, AnsiString cell, TRect Rect) {
    int LeftPos = Rect.Right - canvas->TextWidth(cell) + canvas->Font->Height / 4;//str_gap;
    int gab = ((Rect.Height() - canvas->TextHeight(cell)) / 2);
       canvas->FillRect(Rect);
       canvas->TextOut(LeftPos, Rect.Top+gab, cell);
}

//가운데 정렬 함수
void __fastcall strgridleft(TCanvas *canvas, AnsiString cell, TRect Rect) {
    int LeftPos = Rect.Left + str_gap;
    int gab = ((Rect.Height() - canvas->TextHeight(cell)) / 2);
       canvas->FillRect(Rect);
       canvas->TextOut(LeftPos, Rect.Top+gab, cell);
}

//onDrawCell함수 에서 정렬 함수 호출
void __fastcall TForm1::StringGrid1DrawCell(TObject *Sender, int ACol,
      int ARow, TRect &Rect, TGridDrawState State)
{
               strgridcenter ( StringGrid1->Canvas , StringGrid1->Cells[ACol][ARow] , Rect ) ;
}
//---------------------------------------------------------------------------

     
: 5.
: TStatusBar의 중앙정렬
: TStatusBar의 자동으로 상태줄맞춤
: -----------------------------------

    답변: 정렬- StatusBar의 Panels를 클릭하면 Panel 리스트가 보입니다.
                그 리스트를 추가 삭제 수정을 하실수가 있는데요
                Panels 에서 Panel을 하나 선택하신후  Alignment를 설정하시면 됩니다.

          자동으로 상태줄맞춤 - 무슨말인지 잘 모르겠습니다.     
   

: 6.
: TStringGrid의 클릭시 정렬방법
: -----------------------------------

     답변 : 위에 4번 문제와 중복되네요  4번 문제의 답변을 보세요


: 7.
: TPageControl을 사용해서 처음에 "제목없음"이라는 텝을 넣고싶습니다.
: 어떤방법으로 넣는지 알고싶습니다.

     답변 : PageControl을 선택하시고 마우스 오른쪽으 클릭하시면 Menu가 나오는데
            거기서 NewPage를 클릭하시면 TabSheet가 하나 생깁니다.
            - 새로만들어진 TabSheet를 선택하신후  Caption을 "제목없음"으로 수정하시면 됩니다.


이상입니다.

그럼 ....

+ -

관련 글 리스트
49047 TPageControl, TStringGrid, TPageControl 관련질문(수정 6회) pd 1213 2007/04/24
49050     Re:TPageControl, TStringGrid, TPageControl 관련질문(수정 6회) 장성호 1683 2007/04/25
49048     Re:TPageControl, TStringGrid, TPageControl 관련질문(수정 6회) 아루스 1274 2007/04/24
49049         Re:Re:TPageControl, TStringGrid, TPageControl 관련질문 pd 1536 2007/04/25
49060             Re:Re:Re:TPageControl, TStringGrid, TPageControl 관련질문 이정구 1227 2007/04/25
49053             Re:Re:Re:TPageControl, TStringGrid, TPageControl 관련질문 아루스 1792 2007/04/25
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.