사진 찍기와 웹페이지 표시와 같은 기능은 앱에서 많이 사용됩니다.
이렇게 빈번히 사용하는 기능을 매번 구현하지 않고 프레임으로 구현 후 재사용하는 방법을 소개합니다.
모바일 앱에서는 위와 같은 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 페이지를 참고하세요.
보강할 기능이나 이런식의 프레임으로 처리할 기술이 있다면 댓글이나 메일로 말씀해 주시면 적극 반영하겠습니다.