자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다.
- 제품설치/등록 오류 문의: 설치/등록 Q&A 이용 (제품 구매 고객 한정)
Delphi 폼에서 에디터체 포커스가 갔을때 왜 가상키보드가 안먹을까?
2017.01.03 15:28
본 게시판 사용시 당부 사항
* 이 게시판은 자유롭게 질문을 올리고 자발적으로 답변을 공유하는 게시판입니다.
* 어느 누구도 답변을 달아야만 하는 책임은 없습니다.
* 따라서 질문을 올리실 때에는 최대한 자세하고 정중하게 질문을 올려 주세요.
* 최대한 질문을 자세히 올려야 답변도 자세히 올라 옵니다.
* 본 질문에 답변을 주시는 여러 개발자님들께 미리 감사드립니다.
-----------------------------------------------------------------------------------------------
안드로이드 베를린 10.1 update2로 작업하고 있습니다.
채팅을 하기 위해서 virtual keyboard를 사용해야 하는데요.
제일 아래에 있는 메모장에 포커스를 주면 가상키보드가 화면에 보이고 보인만큼 폼이 위로 올라가야 합니다.
그에 대한 예제가 델파이 예제에 있습니다.
C:\Users\Public\Documents\Embarcadero\Studio\18.0\Samples\Object Pascal\Multi-Device Samples\User Interface\ScrollableForm
위의 예제는 잘됩니다.
그런데 위와 똑같이 해서 예제를 만들었는데 동작이 되질 않습니다.
안되는 내용은
1)에디터(메모장이나 edit)에 포커스가 가면 가상키보드가 보이게 되는데 이에 대한 이벤트가 먹어야 하는데
먹지를 않습니다.
2)에디커로부터 포커스가 사라지면 가상키보드가 숨겨져야 하고 이에 대한 숨겨진 이벤트가 먹어야 하는데
먹지를 않습니다.
이 예제에서는 이렇게 이 이벤트가 정의되어 있습니다.
procedure FormVirtualKeyboardHidden(Sender: TObject;
KeyboardVisible: Boolean;
const Bounds: TRect);
procedure FormVirtualKeyboardShown(Sender: TObject;
KeyboardVisible: Boolean;
const Bounds: TRect);
되는 예제하고 똑같이 작성했는데 왜 샘플예제는 되고 제 예제는 안될까요?
이 이벤트를 먹는 무슨 환경설정이 있나요?
제가 만든 샘플코드를 zip으로 압축해서 올려났으니 확인해주시면 감사하겠습니다.
Delphi 폼에서 에디터체 포커스가 갔을때 왜 가상키보드가 안먹을까?
2017.01.03 15:28
본 게시판 사용시 당부 사항
* 이 게시판은 자유롭게 질문을 올리고 자발적으로 답변을 공유하는 게시판입니다.
* 어느 누구도 답변을 달아야만 하는 책임은 없습니다.
* 따라서 질문을 올리실 때에는 최대한 자세하고 정중하게 질문을 올려 주세요.
* 최대한 질문을 자세히 올려야 답변도 자세히 올라 옵니다.
* 본 질문에 답변을 주시는 여러 개발자님들께 미리 감사드립니다.
-----------------------------------------------------------------------------------------------
안드로이드 베를린 10.1 update2로 작업하고 있습니다.
채팅을 하기 위해서 virtual keyboard를 사용해야 하는데요.
제일 아래에 있는 메모장에 포커스를 주면 가상키보드가 화면에 보이고 보인만큼 폼이 위로 올라가야 합니다.
그에 대한 예제가 델파이 예제에 있습니다.
C:\Users\Public\Documents\Embarcadero\Studio\18.0\Samples\Object Pascal\Multi-Device Samples\User Interface\ScrollableForm
위의 예제는 잘됩니다.
그런데 위와 똑같이 해서 예제를 만들었는데 동작이 되질 않습니다.
안되는 내용은
1)에디터(메모장이나 edit)에 포커스가 가면 가상키보드가 보이게 되는데 이에 대한 이벤트가 먹어야 하는데
먹지를 않습니다.
2)에디커로부터 포커스가 사라지면 가상키보드가 숨겨져야 하고 이에 대한 숨겨진 이벤트가 먹어야 하는데
먹지를 않습니다.
이 예제에서는 이렇게 이 이벤트가 정의되어 있습니다.
procedure FormVirtualKeyboardHidden(Sender: TObject;
KeyboardVisible: Boolean;
const Bounds: TRect);
procedure FormVirtualKeyboardShown(Sender: TObject;
KeyboardVisible: Boolean;
const Bounds: TRect);
되는 예제하고 똑같이 작성했는데 왜 샘플예제는 되고 제 예제는 안될까요?
이 이벤트를 먹는 무슨 환경설정이 있나요?
제가 만든 샘플코드를 zip으로 압축해서 올려났으니 확인해주시면 감사하겠습니다.
보내주신 프로그렘에는 이벤트 핸들러가 연결이 안 되어있습니다.
Form의 OnFocusChanged ,OnFormVirtualKeyboardHidden,onFormVirtualKeyboardShown 각 각 더블 클릭하여 이벤트 핸들러를 연결하시어 다시 테스트 해보십시오.