Windows-classic-samples/Samples/IME/cpp/SampleIME/KeyHandlerEditSession.cpp
2025-11-28 00:35:46 +09:00

47 lines
1.5 KiB
C++

// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
// PARTICULAR PURPOSE.
//
// Copyright (c) Microsoft Corporation. All rights reserved
#include "Private.h"
#include "KeyHandlerEditSession.h"
#include "EditSession.h"
#include "SampleIME.h"
#include "CompositionProcessorEngine.h"
#include "KeyStateCategory.h"
//////////////////////////////////////////////////////////////////////
//
// ITfEditSession
// CEditSessionBase
// CKeyHandlerEditSession class
//
//////////////////////////////////////////////////////////////////////
//+---------------------------------------------------------------------------
//
// CKeyHandlerEditSession::DoEditSession
//
//----------------------------------------------------------------------------
STDAPI CKeyHandlerEditSession::DoEditSession(TfEditCookie ec)
{
HRESULT hResult = S_OK;
CKeyStateCategoryFactory* pKeyStateCategoryFactory = CKeyStateCategoryFactory::Instance();
CKeyStateCategory* pKeyStateCategory = pKeyStateCategoryFactory->MakeKeyStateCategory(_KeyState.Category, _pTextService);
if (pKeyStateCategory)
{
KeyHandlerEditSessionDTO keyHandlerEditSessioDTO(ec, _pContext, _uCode,_wch, _KeyState.Function);
hResult = pKeyStateCategory->KeyStateHandler(_KeyState.Function, keyHandlerEditSessioDTO);
pKeyStateCategory->Release();
pKeyStateCategoryFactory->Release();
}
return hResult;
}