|
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;
}
|