|
기본적으로 부분 조작을 할 경우 코딩이 필요합니다.
보통 IDE의 Parent 관련 관계를 조정하여 일관성을 유지하는데 그렇지 못하면 직접 지정해 주어야합니다.
다만 그나마 아래처럼 찾아서 지정해주면 일관성이 좀 나아질듯합니다.
폼의 인스턴스(this)를 TWinControl로 타입 케스팅해서 pFormCtrls이라고 가정합니다.
TClass ClassType;
TWinControl* pCtrl = NULL;
TList* pList = new TList();
TWinControl* pFormCtrls = (TWinControl*)this;
폼에 있는 컨드롤을 가져옵니다.
pFormCtrls->GetTabOrderList( pList );
아래 내용을 아이템 수 만큼 루프 돌면서 자신이 원하는 컨트롤을 찾아서 폰트를 변경합니다.
pCtrl = (TWinControl*)pList->Items[ 0 ];
ClassType = pCtrl->ClassType();
AnsiString aClassName = ClassType->ClassName();
if ( aClassName == "TEdit" ) {
TEdit *pEdit = (TEdit*)pCtrl;
pEdit->Font->Name = "굴림";
}
ps.
위의 경우 TWinControl을 사용했지만 포커스가 없는 컨트롤의 경우 Controls[]에 접근하셔서
위의 방식으로 클래스 이름을 가져와 타입케스팅하여 지정할 수 있습니다.
(ex>pFormCtrls->Controls[0]->ClassName();)
이양반이~~ 님이 쓰신 글 :
: 제가 만든 프로그램에서 각 컴포넌트의 글꼴을 한꺼번에 바꿀 수 있는 방법이 있나요???
:
: 아니면 각 컴포넌트마다 ...
:
: Form1->Font->Name = "궁서체"
: Label1->Font->Name = "궁서체"
: Button->Font->Name = "궁서체"
:
: 이런식으로 일일이 나열을 해서 바꿔야 하나요..
:
: 저는 각 컴포넌트의 Font Name만 바꾸고 싶습니다. 크기랑 색깔은 그냥 두고요
:
: 그럼 좋은 하루 되시고, 제가 워낙 초보라 되도록 상세한 설명을 부탁드립니다. ^^;
|