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
[13011] Re:[질문]메뉴에 대해서...
수야 [sooya23] 1046 읽음    2001-11-23 04:28
안녕하세요. 수야랍니다. ^^

최익수님이 사용하신 방법은 OOP에 아주많이 어긋나버린 방법이죠 ^^

빌더를 사용하는 의미가 없어져버리네요 ^^

조금 자세히 설명해볼까요... ( 지굼 새벽 4시 17분 : 일어난지 10분됐음 ㅡ0ㅡ )

void __fastcall TForm1:Button1Click(TObject *Sender)
{
  요것;
  저것;
  이것;
  아이콘 = 이뿐걸루;
}
void __fastcall TForm1:MenuItems1:Click(TObject *Send)
{
  요것;
  저것;
  이것;
  아이콘 = 이뿐걸루;
}

이렇게 똑같이 실행되는 두개의 버튼이 있다고하죠...

C++의 방법으론 아마도
요것;
저것;
이것;
을 하나의 함수로 만들어 각각의 클릭 이벤트에 그 함수셋을 적어주겠죠?

엇..? 코딩이 길어지죠?

그런데 이런 똑같은것들이 수없이 존제하게됩니다.

툴버튼에도 존재할것이요.. 팝업메뉴에도 존제하며 풀다운메뉴에도...

하다못해 캡션이나 힌트나 단축키까지 모두 일일이 정의해줘야된다는거죠..

'복사해서 붙이면 되잖아' 라고 생각하시지마시구요

TActionList를 작성해보죠

TActionList의 Images 속성이 있습니다.

TImageList를 하나 올려놓고 이미지들을 등록시키죠..

등록시키면 해당 아이콘 아래 01 02 03 이라고 뜨죠?? 이것이 아이콘을 지정하는 번호입니다.

ActionList의 TAction의 프로퍼티중에 ImageIndex속성이 있죠?

그곳에 해당 아이콘을 지정해주는거죠.. 01 혹은 02 같이 원하는 아이콘으로

그리곤 이렇게 합니다
void __fastcall TForm1::Action1Execute(TObject *Sender)
{
  요것;
  저것;
  이것;
  Action1->ImageIndex = 이뿐걸루; // 여기부터의 코드는 작성하지 않겠죠?
  Action1->Caption = 메렁;
}

이것이 전부입니다.

이렇습니다.

그럼 처음 작성했던 소스를 TActionList와 TImageList를 사용해서 다시 코딩해볼까요?


이렇습니다. 잘보셨나요? 아무것도 없다고요? 네.. 아무것도 없는게 정답이죠..ㅡㅡ?

단지 해당 버튼과 툴버튼, 메인메뉴, 팝업메뉴 등등의 OnClick 이벤트에 연계만 시켜주시면 됩니다.

Action1Execute 이라고 설정만 해주시면 되죠

그럼 해당 버튼과, 툴버튼, 메인메뉴, 팝업메뉴 등등의 캡션이나 핫키 등등 모든것들은

TAction에 정의해줬던 것과 동일하게 나옵니다.

이해가 돼셨는지요?

수야였습니다....

최익수 님이 쓰신 글 :
: 안녕하세요....꾸벅....^^
: 오늘도...또 질문을 올리내요....(에구구...지송스러붜라....^^;)
:
: 다름이 아니라...오늘..."C++Builder 5 Books Online"에 들어가서 이거저것 보다가...
: 챕터 3의 내용에서 아주 의문나는 것이 있어서...이렇게 질문을 올립니다...
:
: 챕터3은 간단한 에디터를..만드는 튜토리얼인데...거기서 보면...메뉴를 Actionlist와 ImageList
: 를 써서리...메뉴의 이미지는 ImageList에 있는 이미지들을 링크시키고...ActionList와 링크 시키고..
: 막 이러면서...만들더라고요...
: 근데...제가 좀...사용한지 얼마안돼서 그런지...
: 저는 여태 그냥..메뉴에다가 bitmap을 올리고...
: OnClick이벤트에다가 코드 작성하고 사용했거덩요....
: Actionlist, Imagelist이런거 안썼는디....
:
: 고수님...제가 여태 잘못 사용하고 있었나요?
: Book Online에서 처럼 하면..뭔가 더 좋은 것이 있나요?
: 글구...Actionlist는 어떻게 쓰는거예요?
: Actionlist의 용도도 알고 시퍼요.....^^;(염치도..없지....)
: 궁금합니다...^^....
:
: 답변좀..해주세요....
:
: 그럼...안녕.....히.....꾸벅....^^
:

+ -

관련 글 리스트
12994 [질문]메뉴에 대해서... 최익수 737 2001/11/22
13011     Re:[질문]메뉴에 대해서... 수야 1046 2001/11/23
13063         RE:답변 감사합니다....꾸벅...^^(내용무) 최익수 722 2001/11/24
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.