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
[7782] Re:[질문입니다.] Frame에대한 질문입니다.
박정모 [] 666 읽음    2001-12-19 22:10

1. Main form위에 frame을 하나 올려두었다.
2. 그 올려진 frame 이외에도 더 많은 frame을 올리고 싶다.

가 질문일것 같습니다. 맞습니까?

frame을 form위에 올리실때 Design time에 올리시니요? 저의 경우는 frame을 run time에
올리는데요. 아래와 같이 코딩하면 frame을 동적으로 form위에 올릴 수 있습니다.

procedure TForm1.AnyButtonClick( Sender : TObject );
var
  loMyFrame : TMyFrame; // 지역 변수로 선언하는 것 보다는 class의 멤버 변수로 선언하는 편이
                           // 좋을 듯 합니다.
begin
  loMyFrame := TMyFrame.Create( Self );
  with loMyFrame do
  begin
     Parent := Self;     // 이렇게 해야 Frame이 화면에 보이게된다.
     Align  := alLeft;   // TForm1 의 왼쪽에 Frame을 만든다
     Width  := 200;
  end;
end;

frame은 container class 취급을 받기 때문에 form위에 얼마든지 올릴 수 있습니다.
container class란 TPageControl, TPanel과 같이 컴포넌트 자신이 다른 컴포넌트를
포함할 수 있는 성질을 가진 것을 말합니다.

위의 코드를 이용해서 필요할 때 한번에 하나씩의 frame만 form위에 만들 수 있습니다.
또 frame이 더 필요없는 경우에는 아래와 같이 코딩해서 frame을 제거할 수 있습니다.

procedure TForm1.AButtonClick( Sender : TObject );
begin
  FMyFrame.Destroy;   // class의 멤버변수로 Frame이 선언되어 있고 이 변수에
                         // 생성된 frame의 instance가 연결되어 있어야 합니다.
end;

ps : 설명드린 코드에 이상이 있거나 잘 모르는 부분이 있다면 다시 질문 하십시요.

Befree 님이 쓰신 글 :
: 우선 박정모님의 답변 감사드립니다. ^^
:
: 여기서부터 질문인데요..
:
: MainForm에 하나의 Frame있는데..
: 다수의 Frame을 상속 받을수 있는지 해서요..
:
: 어떤 방법이 있는지좀 알려주세요..
:
: 수고하시고 즐프 하세요..
:

+ -

관련 글 리스트
7776 [질문입니다.] Frame에대한 질문입니다. Befree 548 2001/12/19
7782     Re:[질문입니다.] Frame에대한 질문입니다. 박정모 666 2001/12/19
7783         Re:Re:[질문입니다.] Frame에대한 질문입니다. Befree 642 2001/12/19
7778     Re:[질문입니다.] Frame에대한 질문입니다. 지나가는 사람 646 2001/12/19
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.