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
[49048] Re:TPageControl, TStringGrid, TPageControl 관련질문(수정 6회)
아루스 [tinydew4] 1273 읽음    2007-04-24 21:36
pd 님이 쓰신 글 :
: 폼으로 뭐좀 만들려고하는데 빌더는 첨써봐서 어려움이 생기네요..
: 이하에 질문이 많은데.. 어렵지않는 궁금증같습니다.
: 해결좀 해주세요.
:
: 1.
: 모든 RAD도구에서 접근방법은 두가지가있는것같습니다.
: 오브젝트 인스펙터로하는방법과
: 코딩으로하는방법이있는데
:
: PageControl1->Pages[0]->Caption= "캡션";
: 이것을 오브젝트 인스펙터에서 바로 쓸수있는방법은 없을까요?
PageControl1 에서 Pages[0] 이면 맨 처음 페이지를 선택하고 페이지 안쪽을 클릭 해서
TTabSheet 를 선택한 뒤, Caption 속성을 "캡션" 으로 고쳐줍니다.

: -----------------------------------
: 2.
: 스플리터를 페이지 컨트롤 위에 달았습니다.
: 그런데 스플리터를 사용하니까 텝을 닫아버리네요.
: 텝공간은 스플리터로부터 보호를 하고싶은데 어떻게 해야합니까?
: -----------------------------------
: 3.
: 도움말에서 이런예제를 보면
: __property Classes::TStrings* Cols[int Index] = {read=GetCols, write=SetCols};
: 제일뒤쪽의  {read=GetCols, write=SetCols}; 이부분은 무슨의미입니까?
해당 프로퍼티를 통한 접근 방법을 제시합니다.
read 에는 읽어오는 방법을, write 에는 쓰는 방법입니다.
여기에는 변수가 직접 올 수도 있고, 예제처럼(추측컨데) 함수가 올 수도 있습니다.
이 함수는 read 의 경우 프로퍼티 속성과 같은 형을 반환하고 매개변수는 없어야 하고
write 의 경우는 인자값으로 매개변수와 같은 형을 받아야 합니다.

: -----------------------------------
: 4.
: TStringGrid 좌우정렬방법은 어떻게 해야하나요?
이건 잘 모르겠네요.
다음은 API 를 이용해 TEdit 중앙정렬 하는 코드입니다.
참고해서 한번해보세요.
될꺼같진 않지만;;
void __fastcall SetAlignCenter( TEdit *Edt )
{
    // TEdit 컨트롤의 텍스트 중앙정렬
    SetWindowLong(
        Edt->Handle,
        GWL_STYLE,
        GetWindowLong( Edt->Handle, GWL_STYLE ) | ES_CENTER
    );
    Edt->Repaint();
}

: -----------------------------------
: 5.
: TStatusBar의 중앙정렬
: TStatusBar의 자동으로 상태줄맞춤
각 패널에 Alignment 속성이 있습니다.
상태줄 맞춤은 뭔지 모르겠네요.

: -----------------------------------
: 6.
: TStringGrid의 클릭시 정렬방법
이건 아마 셀 값을 직접 접근해서 정렬 알고리즘을 적용해야하지 않을까요?

: -----------------------------------
: 7.
: TPageControl을 사용해서 처음에 "제목없음"이라는 텝을 넣고싶습니다.
: 어떤방법으로 넣는지 알고싶습니다.
디자인시에 하는 방법은 1번을 참고하시고
런타임 생성은 빌더 도움말 예제를 참고하세요 아래에 적겠습니다.
탭시트 생성후 PageControl 속성에 해당 PageControl 을 넣어 연결합니다.
동적 생성된 탭시트는 명시적으로 삭제를 해주어야 하나봅니다 ~_~

#include <Comctrls.hpp>
TPageControl* ppc;
TTabSheet* pts[MAXTABS];
const char * ppcTabTitles[] = { "ShortString", "Orders", "Items", "Parts" };
int iTabTitles = sizeof(ppcTabTitles)/sizeof(ppcTabTitles[0]);

void __fastcall TForm1::FormCreate(TObject *Sender)

{
    ppc = new TPageControl(this);
    ppc->Parent = this;
    ppc->Align = alClient;
    for (int i=0;i<iTabTitles;i++)
  {
        pts[i] = new TTabSheet(this);
        pts[i]->PageControl = ppc;
        pts[i]->Name = AnsiString("pts") + ppcTabTitles[i];
        pts[i]->Caption = ppcTabTitles[i];
  }
}

void __fastcall TForm1::FormDestroy(TObject *Sender)

{
  for (int i=0;i<iTabTitles;i++)
        delete pts[i];
    delete ppc;
}

+ -

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