📄 sink.cpp
字号:
// Sink.cpp: implementation of the CSink class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "MSAgent.h"
#include "MSAgentDlg.h"
#include "Sink.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CSink::CSink()
{
}
CSink::~CSink()
{
}
//-------------------------------------------
// IAgentNotifySink methods
//-------------------------------------------
STDMETHODIMP CSink::Command(long dwCommandID, IUnknown * punkUserInput)
{
return NOERROR;
}
STDMETHODIMP CSink::ActivateInputState(long dwCharID, long bActivated)
{
return NOERROR;
}
STDMETHODIMP CSink::VisibleState(long dwCharID, long bVisible, long lCause)
{
((CMSAgentDlg*)AfxGetMainWnd())->UpdateInfo();
return NOERROR;
}
STDMETHODIMP CSink::Click(long dwCharID, short fwKeys, long x, long y)
{
return NOERROR;
}
STDMETHODIMP CSink::DblClick(long dwCharID, short fwKeys, long x, long y)
{
return NOERROR;
}
STDMETHODIMP CSink::DragStart(long dwCharID, short fwKeys, long x, long y)
{
return NOERROR;
}
STDMETHODIMP CSink::DragComplete(long dwCharID, short fwKeys, long x, long y)
{
return NOERROR;
}
STDMETHODIMP CSink::RequestStart(long dwRequestID)
{
return NOERROR;
}
STDMETHODIMP CSink::RequestComplete(long dwRequestID, long hrStatus)
{
return NOERROR;
}
STDMETHODIMP CSink::BookMark(long dwBookMarkID)
{
return NOERROR;
}
STDMETHODIMP CSink::Idle(long dwCharID, long bStart)
{
return NOERROR;
}
STDMETHODIMP CSink::Move(long dwCharID, long x, long y, long lCause)
{
CNotifySink::Move( dwCharID, x, y, lCause );
((CMSAgentDlg*)AfxGetMainWnd())->UpdateInfo();
return NOERROR;
}
STDMETHODIMP CSink::Size(long dwCharID, long lWidth, long lHeight)
{
return NOERROR;
}
STDMETHODIMP CSink::BalloonVisibleState(long dwCharID, long bVisible)
{
return NOERROR;
}
STDMETHODIMP CSink::HelpComplete(long dwCharID, long dwCommandID, long dwCause)
{
return NOERROR;
}
STDMETHODIMP CSink::ListeningState(long dwCharacterID, long bListenState, long dwCause)
{
return NOERROR;
}
STDMETHODIMP CSink::DefaultCharacterChange(BSTR bszGUID)
{
return NOERROR;
}
STDMETHODIMP CSink::AgentPropertyChange()
{
return NOERROR;
}
STDMETHODIMP CSink::ActiveClientChange(long dwCharID, long lStatus)
{
return NOERROR;
}
STDMETHODIMP CSink::Tip( long dwCharID, long lEvent )
{
try
{
if ( lEvent == TIP_CLK )
m_pAgent->Speak( "Tip was clicked" );
else
m_pAgent->Speak( "Tip auto-hide" );
}
catch (int *pErr)
{
AfxMessageBox ("Tip event");
delete pErr;
}
return NOERROR;
}
STDMETHODIMP CSink::InputBalloon( long dwCharID, long lEvent )
{
try
{
if ( lEvent == -1 )
m_pAgent->Speak( "InputBalloon was cancelled" );
else
{
CString strText, strText2;
BOOL bChecked;
int nRadio;
strText.Format( "The button with ID %d was clicked", lEvent - IDC_BUTTONS);
m_pAgent->Speak( strText );
if ( ( bChecked = m_pAgent->GetInputBalloon( dwCharID)->GetCheckBoxState() ) != -1 )
{
strText.Format( "CheckBox state: %d", bChecked);
m_pAgent->Speak( strText );
}
if ( ( nRadio = m_pAgent->GetInputBalloon( dwCharID)->GetCheckedRadio() ) != -1 )
{
strText.Format( "Radio state: %d", nRadio);
m_pAgent->Speak( strText );
}
if ( ( strText2 = m_pAgent->GetInputBalloon( dwCharID )->GetTextBox() ) != "" )
{
strText.Format( "TextBox: %s", strText2 );
m_pAgent->Speak( strText );
}
}
}
catch (int *pErr)
{
AfxMessageBox ("InputBalloon event");
delete pErr;
}
return NOERROR;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -