Delphi Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
델파이 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
FreePascal/Lazarus
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
델마당
볼랜드포럼 광고 모집

델파이 Q&A
Delphi Programming Q&A
[1235] [답변] GURMDARI/ newitem:=tmenuitem.create(self)에
댁스터 [ ] 2003 읽음    1998-02-10 20:44
안녕하세요... 댁스터입니다..

메뉴를 동적으로 생성하시는 부분에서 잘못된 부분이 하나 있군요...

newitem.name := 'new item' <--- 요렇게 하셨는데... Name속성은 지정할 때는

Caption속성과 다르게 몇가지 규칙이 있습니다... 뭐 변수 이름 정하는 규칙같은

거죠... 여기에서는 띄어쓰기를 하셨는데 그렇게 하시면 에러가 납니다.

새로운 메뉴를 동적으로 생성을 하시고 동적으로 생성된 메뉴를 선택하면 폼이

나오게 한다..... 그럼 동적으로 생성된 메뉴 항목에 대한 이벤트 헨들러를 만들

어야 합니다... 그래야 선택을 하면 폼이 생성이 되겠죠?

아래 소스를 참고하세요... 주석은 간단한 루틴이므로 생략합니다...

var
  newitem: TMenuItem;
begin
  newitem := tmenuitem.create(self);
  newitem.caption := 'new item';
  newitem.name := 'newitem';
  newitem.OnClick := NewItemClick;  // 이벤트 헨들러 지정
  n1.add(newitem);
end;


procedure TForm1.NewItemClick(Sender : Tobject);
begin
  Form2.Show;
end;

물론 procedure NewItemClick(Sender : Tobject);는 클래스에 선언을 하셔야 겠죠

그리고 Form2라는 이름의 폼을 하나 추가하시고요... uses절에 추가된 폼의 유닛을

선언하는 것도 필요합니다...


요렇게 하면 메뉴가 동적으로 생기고 그 메뉴를 선택하면 이벤트 핸들러에 의해

새로운 폼을 보여줍니다....

그럼 참고 하세요....


                      THEXDER


+ -

관련 글 리스트
1235 [답변] GURMDARI/ newitem:=tmenuitem.create(self)에 댁스터 2003 1998/02/10
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.