개발 정보/델파이
[Delphi] 델파이 FMX 키보드 표시, 숨기기
RoRoBong
2021. 1. 19. 09:07
728x90
안녕하세요
로로봉입니다 : )
델파이에서 가상 키보드를 제어해보도록 하겠습니다.
델파이 FireMonkey 에서 가상 키보드를 제어하기 위해 아래의 2가지를 uses에 추가해주어야 합니다.
uses
FMX.Platform, FMX.VirtualKeyboard;
그리고 아래의 함수를 이용해 키보드가 표시되고 있는 상태인지 아닌지를 확인할 수 있습니다.
function TfrmMain.KeyboardState: Boolean;
var
FService : IFMXVirtualKeyboardService;
begin
TPlatformServices.Current.SupportsPlatformService(IFMXVirtualKeyboardService, IInterface(FService));
if (FService <> nil) then
begin
if (TVirtualKeyboardState.Visible in FService.VirtualKeyBoardState) then
Result := True
else
Result := False;
end;
end;
키보드가 표시된 상태라면 True / 키보드가 표시되어 있지 않다면 False가 반환됩니다.
소스상에서 키보드를 활성화하고 비활성화하는 처리는 아래와 같이 함수를 만들어 호출해 주면 됩니다.
procedure TfrmMain.KeyboardShow(Sender: TObject);
var
FService : IFMXVirtualKeyboardService;
begin
TPlatformServices.Current.SupportsPlatformService(IFMXVirtualKeyboardService, IInterface(FService));
if (FService <> nil) then
begin
FService.ShowVirtualKeyboard((Sender as TEdit));
end;
end;
procedure TfrmMain.KeyboardHide;
var
FService : IFMXVirtualKeyboardService;
begin
TPlatformServices.Current.SupportsPlatformService(IFMXVirtualKeyboardService, IInterface(FService));
if (FService <> nil) then
begin
FService.HideVirtualKeyboard;
end;
end;
좋아요 ♥ + 구독 부탁드립니다 : )
728x90
반응형