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
[56658] Re:폼에 올라가 있는 모든 컨트롤들의 한글 Caption을 영문 Caption으로 일괄 변경
장성호 [nasilso] 1251 읽음    2009-04-16 17:06
대충 다음과 같이하면 될것 같으데요


//TControl의 Caption프로퍼티가 protected로 되어있는데 public으로 변경한 class임 
class TControlOpen: public TControl
{
public:
	__property Caption;
};
//---------------------------------------------------------------------------
String __fastcall ConvertLangControl(String sOrgCaption)
{
	String sNewCaption;
	//실제 Converting 코드

   return sNewCaption;
}
//---------------------------------------------------------------------------
void __fastcall ChangeAllControlCaption(TForm *frm)
{
	if(frm==NULL)return;

   //Form위오 모든 Control에 적용
   for(int i=0;iControlCount;i++)
   {
   	String sCap=((TControlOpen *)frm->Controls[i])->Caption;
      ((TControlOpen *)frm->Controls[i])->Caption =ConvertLangControl(sCap);
   }
   //현재 폼의 Caption에 적용
   frm->Caption = ConvertLangControl(frm->Caption ); //
}


아래는 사용예 입니다.

//위 함수 사용 예
void __fastcall TForm1::Button1Click(TObject *Sender)
{
	//현재 폼에만 적용
 	ChangeAllControlCaption(this);
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button2Click(TObject *Sender)
{
	//어플리케이션 모든 폼에 적용
	for(int i=0;iFormCount;i++)
   	ChangeAllControlCaption(Screen->Forms[i]);
}
//---------------------------------------------------------------------------


그럼..

김학수 님이 쓰신 글 :
: 폼에 올라가 있는 모든 컨트롤들의 한글 Caption을 영문 Caption으로 일괄적으로
: 바꿔주는 함수를 만들려고 합니다.
:
: 다음은 C#에서 구현한 소스 입니다.
: ===================================================================
:         public static void SetLangControls(Control con){
:             string strKOR, strFOR;
:
:             strKOR = con.Text.Trim();
:             strFOR = ConvertLangControl(strKOR);
:
:             con.Text = strFOR;
:
:             for(int i = 0; i < con.Controls.Count; i++){
:                 SetLangControls(con.Controls[i]);
:             }
:         }
: ===================================================================
:
: C Builder에서는 어떻게 해야 할까요?

+ -

관련 글 리스트
56656 폼에 올라가 있는 모든 컨트롤들의 한글 Caption을 영문 Caption으로 일괄 변경 김학수 986 2009/04/16
56658     Re:폼에 올라가 있는 모든 컨트롤들의 한글 Caption을 영문 Caption으로 일괄 변경 장성호 1251 2009/04/16
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.