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