자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다.
- 제품설치/등록 오류 문의: 설치/등록 Q&A 이용 (제품 구매 고객 한정)
Delphi xe10.2에서 VKAutoShowMode 가 작동하지 않는 문제
2018.04.12 10:57
본 게시판은 개발자들이 자유롭게 질문과 답변을 공유하는 게시판입니다.
* 따라서 최대한 정중하게 질문을 올려 주세요.
* 질문을 상세히 작성해 주실 수록 좋은 답변이 올라 옵니다.
* 다른 분들도 참고할 수 있도록 결과 댓글 필수(또는 감사 댓글)
(결과 댓글을 달지 않는 경우 다음 질문에 대한 답변이 달리지 않는 불이익이 있을 수 있습니다.)
-----------------------------------------------------------------------------------------------
xe7 에서는 VKAutoShowMode := TVKAutoShowMode.Never을 사용하여 가상키보드가 보여지지 않게 잘 사용하였는데 10.2 번젼에서는 이 기능이 작동하지 않는 것 같습니다. 현재 버젼의 문제인지 사용방법이 달라졌는지 궁금합니다.
댓글 4
-
김원경
2018.04.12 14:43
-
개발자
2018.04.12 18:11
답변 감사합니다.
HideVirtualKeyboard 를
실행하면 화면에서 가상키보드는 사라지지만 다시
에디트에 Focus가 가면 가상키보드가 다시 나타납니다.
xe7에서는 TVKAutoShowMode.Never를 하면 에디트에 포커스가 가도 가상키보드가 보여지지 않았습니다.
제가 원하는 것은 Focus를 가지는 컨트롤에 가상키보드가 보여지지 않도록 하는 것입니다.
-
험프리
2018.04.13 09:35
엠바카데로 퀄리티 포털을 살펴보니 같은 이슈를 보고한 내용과 해결책이 있어 안내드립니다.
https://quality.embarcadero.com/browse/RSP-17768
위 링크의 댓글을 참고해 FMX.VirtualKeyboard.Android.pas와 FMX.Platform.Android.pas 파일을
프로젝트 폴더로 복사 후 프로젝트에 추가하신 후
댓글을 참고해 일부 코드를 수정후 컴파일하면 TVKAutoShowMode.Never가 적용될 것입니다.
(직접 확인해 봤습니다.)
해당 파일들은 다음 디렉토리에 있습니다.(기본 경로 기준)
C:\Program Files (x86)\Embarcadero\Studio\19.0\source\fmx
——————
답글이 도움이 되셨는지 다른 분들도 참고할 수 있도록 결과 댓글 부탁드립니다.
(결과 댓글이 없는 경우 다른 질문에 대한 답변이 달리지 않는 불이익이 있을 수 있습니다.)
추천:1 댓글
-
개발자
2018.04.13 16:42
답변 너무나 감사합니다.
위의 내용대로 하니 제가 원하던 기능이 잘 처리되는 것을 확인하였습니다.
바코드 스캔을 하는 프로그램에 꼭 적용되어야 하는 기능이라 필요한 분이 많을 거라 생각합니다.
Delphi xe10.2에서 VKAutoShowMode 가 작동하지 않는 문제
2018.04.12 10:57
본 게시판은 개발자들이 자유롭게 질문과 답변을 공유하는 게시판입니다.
* 따라서 최대한 정중하게 질문을 올려 주세요.
* 질문을 상세히 작성해 주실 수록 좋은 답변이 올라 옵니다.
* 다른 분들도 참고할 수 있도록 결과 댓글 필수(또는 감사 댓글)
(결과 댓글을 달지 않는 경우 다음 질문에 대한 답변이 달리지 않는 불이익이 있을 수 있습니다.)
-----------------------------------------------------------------------------------------------
xe7 에서는 VKAutoShowMode := TVKAutoShowMode.Never을 사용하여 가상키보드가 보여지지 않게 잘 사용하였는데 10.2 번젼에서는 이 기능이 작동하지 않는 것 같습니다. 현재 버젼의 문제인지 사용방법이 달라졌는지 궁금합니다.
댓글 4
-
김원경
2018.04.12 14:43
-
개발자
2018.04.12 18:11
답변 감사합니다.
HideVirtualKeyboard 를
실행하면 화면에서 가상키보드는 사라지지만 다시
에디트에 Focus가 가면 가상키보드가 다시 나타납니다.
xe7에서는 TVKAutoShowMode.Never를 하면 에디트에 포커스가 가도 가상키보드가 보여지지 않았습니다.
제가 원하는 것은 Focus를 가지는 컨트롤에 가상키보드가 보여지지 않도록 하는 것입니다.
-
험프리
2018.04.13 09:35
엠바카데로 퀄리티 포털을 살펴보니 같은 이슈를 보고한 내용과 해결책이 있어 안내드립니다.
https://quality.embarcadero.com/browse/RSP-17768
위 링크의 댓글을 참고해 FMX.VirtualKeyboard.Android.pas와 FMX.Platform.Android.pas 파일을
프로젝트 폴더로 복사 후 프로젝트에 추가하신 후
댓글을 참고해 일부 코드를 수정후 컴파일하면 TVKAutoShowMode.Never가 적용될 것입니다.
(직접 확인해 봤습니다.)
해당 파일들은 다음 디렉토리에 있습니다.(기본 경로 기준)
C:\Program Files (x86)\Embarcadero\Studio\19.0\source\fmx
——————
답글이 도움이 되셨는지 다른 분들도 참고할 수 있도록 결과 댓글 부탁드립니다.
(결과 댓글이 없는 경우 다른 질문에 대한 답변이 달리지 않는 불이익이 있을 수 있습니다.)
추천:1 댓글
-
개발자
2018.04.13 16:42
답변 너무나 감사합니다.
위의 내용대로 하니 제가 원하던 기능이 잘 처리되는 것을 확인하였습니다.
바코드 스캔을 하는 프로그램에 꼭 적용되어야 하는 기능이라 필요한 분이 많을 거라 생각합니다.
이 방법은 헬프에 보니 디버깅 목적으로 사용하라고 되어있습니다.
다른 방법으로 키보드를 숨기거나 보이게 하는 방법이 있습니다. 참조하시기 바랍니다.
IFMXVirtualKeyboardService의 HideVirtualKeyboard 메소드를 이용하여 보십시오.
https://stackoverflow.com/questions/27402101/how-to-hide-and-again-show-soft-keyboard-while-tedit-is-in-focus-delphi-xe7
https://stackoverflow.com/questions/41463963/hide-a-keyboard-in-android-delphi-xe8
또 다른 방법은 윈도우 메세지를 이용하는 방법이 소개 되어 있습니다.
https://hot-virtual-keyboard.com/development/q1/