본문 바로가기
Delphi Tip/컴포넌트

Frame을 활용한 최종 통합 및 실행

by MonoSoft 2025. 1. 30.
728x90
반응형

Frame을 활용한 최종 통합 및 실행

 

 

이제까지 Frame을 활용하여 폴더 탐색, 파일 목록 정리, 이미지 표시 기능을 각각 독립적으로 구현하는 방법을 알아봤습니다.

이번 포스팅에서는 이 모든 Frame을 하나로 통합하여

완전한 Image Viewer 프로그램을 실행하는 과정을 살펴보겠습니다.

 

Frame을 활용한 최종 구조

우리가 구현한 Image Viewer는 아래와 같은 3개의 주요 Frame을 포함합니다:

  1. TfrFolder Frame
    • 폴더 트리 탐색 기능 담당
    • 선택된 폴더의 이미지 파일 목록을 TfrImageList에 전달
  2. TfrImageList Frame
    • 전달받은 이미지 파일 목록을 정렬하여 나열
    • 클릭하면 선택된 이미지를 강조 표시
  3. TfrImage Frame
    • 개별 이미지를 표시하고 선택 이벤트를 처리

이제 이 Frame들을 메인 폼에 통합하여 프로그램을 완성해 보겠습니다.

 

메인 폼에 Frame 통합하기

먼저 TForm1을 생성하고, 이전에 만든 TfrFolder와 TfrImageList를 메인 폼에 배치합니다.

1. 메인 폼 디자인 설정

아래와 같이 Frame을 배치하여 UI를 구성합니다.

object Form1: TForm1
  inline frFolder1: TfrFolder
    Width = 320
    Align = alLeft
  end
  inline frImageList: TfrImageList
    Align = alClient
  end
end
  • frFolder1은 왼쪽(alLeft)에 배치하여 폴더 탐색 기능을 수행합니다.
  • frImageList는 남은 공간(alClient)을 차지하여 이미지 목록을 표시합니다.

 

2. Frame 간 연동 구현

Frame 간의 데이터를 주고받는 기능을 추가해야 합니다.
예를 들어, TfrFolder에서 선택한 폴더의 파일 목록을 TfrImageList로 넘겨주는 방식입니다.

procedure TfrFolder.ShellTreeView1Change(Sender: TObject; Node: TTreeNode);
begin
  if Node = nil then Exit;
  
  // 선택된 폴더의 파일 목록을 ImageList Frame으로 전달
  TForm1(Parent).frImageList.Clear;
  TForm1(Parent).frImageList.GetFiles(ShellTreeView1.SelectedFolder.PathName);
end;

 

이렇게 하면 폴더에서 파일을 선택할 때마다 TfrImageList가 자동으로 갱신됩니다.

 

최종 실행 및 결과

모든 Frame이 통합된 후 실행하면 다음과 같은 동작을 기대할 수 있습니다:

  1. 폴더 선택:
    • 사용자가 TfrFolder에서 특정 폴더를 선택하면 해당 폴더 내의 이미지 파일 목록이 자동으로 업데이트됩니다.
  2. 이미지 목록 표시:
    • TfrImageList가 선택된 폴더의 파일을 나열하여 보여줍니다.
  3. 이미지 선택 및 강조:
    • 사용자가 특정 이미지를 클릭하면 TfrImage에서 해당 이미지를 강조 표시합니다.

 

결론

Frame을 활용하면 개별 기능이 독립적으로 동작하면서도 하나의 프로그램으로 통합될 수 있습니다.
이번 포스팅을 통해 Delphi에서 Frame을 활용하여 UI를 모듈화하는 과정과 장점을 익혔을 것입니다.

다음 단계로 Frame을 활용한 추가적인 기능 개선 및 확장 방법도 고민해 볼 수 있습니다.

 

 

728x90
반응형

댓글