|
김민호.소중한꿈 님이 쓰신 글 :
: 지금 현재 프로그램을 하나 만들고 있는 중입니다.
:
: 그런데 사용자 측에서 메뉴를 옵션에서 한글 또는 영어로 선택할 수 있도록 해줄 수 있는지를 요구하였습니다.
:
: 제가 지금껏 이렇게 해본 적이 없어서 조금 막막한데요. 뭔가 리소스 부분을 건드려야하는 것인지요?
:
: C++ Builder에서 메뉴를 한글, 영어로 바꿀 수 있도록 프로그래밍 하는 방법이 어떤 것인지를 알고 싶습니다.
:
: 그럼, 다들 즐프하세요.
많은 방법들이 있을수 있을거 같습니다.
어차피 메뉴에 들어가는 TEXT는 Caption 부분에 거의 다 세트 될거 같은데요...
( Grid를 썼다면 그리드의 헤더명을 바꿔 줘야 하는 부분은 따로 그룹하면 될거 같구요. )
ini 파일을 이용해서도 구현이 가능 할거 같습니다.
ini를 파일 종료 별로 하시던지 어떻게 하시던지 문제는 없을 듯 싶구여.
[상단메뉴]
오브젝트명1= 메뉴명 << 대신에 오브젝트명을 에뮬레이트어레이?? 처럼 M00001 로 시작 해서 쭈욱 달아주구여.
오브젝트명2=메뉴명
M0001
...
M9999
해놓고 해당
이벤트 [언어 선택~~!]
if[ menu_kind == 한글]
findsection = "한글" ;
else
findsection = "영어";
char key[5+1];
for[ int i= 0 ; i < 9999 ; i++ ]
[
sprintf( key , "M%05d" , i );
if( (readdata = ini->ReadString( findsection , String( key ) , "" ) == "" ) break; // 연번으로 떨어지는 넘이 더 없으면 끝낸다.
~~~ key 의 이름을 가지는 객체를 찾아서 그 넘의 caption 속성에 readdata 를 세트 한다...
]
대신에 설계 하실때 영어/한글에 메뉴지원에 대한 처리가 효율적으로 이루질수 있도록 메세지 처리 루틴도
별도의 자료로 이분처리 하고 공통 라이브러리에서 사용해야 되는 메세지를 언어에 따라서 추출해내도록 설계되어야만
프로그램이 본처리되는데 지장이 없지 않을 까 사려가 되는 군요.
건승하세염~~!
PS :
단순 메뉴나 캡션 바가 아니고 combobox , grid , treeview 등에 들어가는 목록 정보에 대한 정의 는 또 다시 구분이 되어야 할거 같습니다.
[combo1] << 콤보 명
한글L1 = 대구
영어L1 = taegu
이렇게 ...
[grid1] << 그리드명
ccnt=5 << 컬럼카운트
한글C1=첫번째 컬럼
영어C1=두번째 컬럼
|