본문 바로가기
FireMonkey

C++개발시 vkHardwareBack, Menu 버튼 처리 방식

by leo21c 2014. 7. 4.
SMALL

FireMonkey 자료를 찾다 보면 대부분 델파이로 되어 있다.
테스트로 개발을 하면서 확인 한 내용을 잊을까봐 적어 둔다.

#include "FMX.Platform.hpp"
#include "FMX.VirtualKeyboard.hpp"

void __fastcall TMainForm::FormKeyUp(TObject *Sender, WORD &Key, 
                        System::WideChar &KeyChar, TShiftState Shift)
{
  _di_IFMXVirtualKeyboardService FService;

  if (Key == vkHardwareBack) {
    if (TPlatformServices::Current->SupportsPlatformService(
        __uuidof(IFMXVirtualKeyboardService)) &&
	(FService = TPlatformServices::Current->GetPlatformService(__uuidof(IFMXVirtualKeyboardService)))) 
    {
      if (FService->VirtualKeyboardState.Contains(TVirtualKeyboardState::vksVisible)) {
       //Back button pressed, keyboard visible, so do nothing...
      }
      else {
       //Back button pressed, keyboard not visible or not supported on this platform, 
       //lets exit the app...
      }
    }
  }
  else if (Key == sgiUpRightLong) {
    //Menu button pressed
  }
}

소스가 잘려서 안보이네....ㅠㅠ

잘려서 안보이는 부분은 아래 참고

FService = TPlatformServices::Current->
                   GetPlatformService(__uuidof(IFMXVirtualKeyboardService))

FService->VirtualKeyboardState.Contains(TVirtualKeyboardState::vksVisible)

LIST

'FireMonkey' 카테고리의 다른 글

FireMonkey Virtual Keys  (0) 2014.06.06