⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 s_hanim.cpp

📁 symbian,使用dll服务捕获按键,比设置优先级更能提高按键响应.
💻 CPP
字号:
/* Copyright (c) 2004, Nokia. All rights reserved */


// INCLUDE FILES
#include <e32std.h>
#include <e32base.h>
#include <txtfrmat.h>

#include "S_HAnim.h"
#include "..\..\Common\HAnimCommon.h"

#ifdef __WINS__
	#define KTestKey	50
#else
	#define KTestKey	18
#endif

// ============================ MEMBER FUNCTIONS ===============================
CHAnim::CHAnim()
{
}

void CHAnim::ConstructL( TAny* /* aArgs */, TBool /* aHasFocus */ )
    {
	iTestEvent = CEventQueue::NewL(*this);
	iCaptureKey = EFalse;
    }

CHAnim::~CHAnim()
{
	iFunctions->GetRawEvents(EFalse);
 	delete iTestEvent;
	iTestEvent = NULL;
}

void CHAnim::Command( TInt aOpcode, TAny* /* aArgs */ )
{
    switch ( aOpcode )
        {
    case EAnimCmd_CaptureKey:
		User::InfoPrint(_L("CaptureKey"));
		if (!iCaptureKey)
		{
			iCaptureKey = ETrue;
			iFunctions->GetRawEvents(ETrue);
		}
        break;
	case EAnimCmd_CancelCaptureKey:
		User::InfoPrint(_L("CancelCaptureKey"));
		if (iCaptureKey)
		{
			iCaptureKey = EFalse;
			iFunctions->GetRawEvents(EFalse);
		}
        break;
    default:
        break;
        }
}

TBool CHAnim::OfferRawEvent( const TRawEvent& aRawEvent )
{
	if ( (aRawEvent.Type() == TRawEvent::EKeyUp) || (aRawEvent.Type() == TRawEvent::EKeyDown) )
	{
		if (aRawEvent.ScanCode() == KTestKey)
		{
			if (aRawEvent.Type() == TRawEvent::EKeyUp)
				iTestEvent->SendEvent();
			return ETrue;
		}
	}
    return EFalse;
}

void CHAnim::EventNotify(TInt& aScanCode) 
{
	User::InfoPrint(_L("Recv 222"));
}

// End of File

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -