본문 바로가기

파이어몽키

재사용 가능한 프레임으로 UI 구현하기(사진, 웹페이지)

사진 찍기와 웹페이지 표시와 같은 기능은 앱에서 많이 사용됩니다.

이렇게 빈번히 사용하는 기능을 매번 구현하지 않고 프레임으로 구현 후 재사용하는 방법을 소개합니다.


모바일 앱에서는 위와 같은 UI를 많이 사용합니다. 매번 해당 UI를 구현하려면 상당히 번거롭습니다.

아래와 같이 짧은 코드로 위의 2가지 기능을 쉽게 사용할 수 있습니다.

uses PhotoFrame, WebBrowserFrame;

procedure TForm1.Button1Click(Sender: TObject);
begin
  TfrPhoto.CreateAndShow(Self, ChangeImageEvent, nil);
end;

procedure TForm1.ChangeImageEvent(Image: TBitmap);
begin
  Image1.Bitmap.Assign(Image);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  TfrWebBrowser.CreateAndShow(Self, Edit1.Text);
end;

procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word; var KeyChar: Char;
  Shift: TShiftState);
begin
  if Key = vkHardwareBack then
  begin
    if Assigned(frPhoto) then
    begin
      frPhoto.CloseFrame;
      Key := 0;
    end;

    if Assigned(frWebBrowser) then
    begin
      frWebBrowser.CloseFrame;
      Key := 0;
    end;
  end;
end;

위 소스코드에서는 TfrPhoto와 TfrWebBrowser를 이용해 사진기능과 웹브라우저 기능을 모두이용하고, 

안드로이드 백버튼에 대한 처리까지 되어있습니다.

(PhotoFrame에서 iOS와 안드로이드의 버튼 위치와 스타일도 플랫폼에 맞도록 지정했습니다.)


사진기능과 웹브라우저 기능을 포함한 프레임등의 전체 소스코드는 제 Github 페이지를 참고하세요.


보강할 기능이나 이런식의 프레임으로 처리할 기술이 있다면 댓글이나 메일로 말씀해 주시면 적극 반영하겠습니다.