2025-04-27 07:49:33 -04:00

155 lines
3.1 KiB
C++

// Copyright (c) 1997-2001 Microsoft Corporation, All Rights Reserved
// AvailClassEdit.cpp : implementation file
//
#include "precomp.h"
#include "wbemidl.h"
#include "navigator.h"
#include "AvailClasses.h"
#include "AvailClassEdit.h"
#include "SelectedClasses.h"
#include "SimpleSortedCStringArray.h"
#include "BrowseforInstances.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
void CALLBACK EXPORT SelectClassAfterDelay
(HWND hWnd,UINT nMsg,WPARAM nIDEvent, ULONG dwTime)
{
::PostMessage(hWnd,UPDATESELECTEDCLASS,0,0);
}
/////////////////////////////////////////////////////////////////////////////
// CAvailClassEdit
CAvailClassEdit::CAvailClassEdit()
{
m_uiTimer = 0;
}
CAvailClassEdit::~CAvailClassEdit()
{
}
BEGIN_MESSAGE_MAP(CAvailClassEdit, CEdit)
//{{AFX_MSG_MAP(CAvailClassEdit)
ON_WM_CAPTURECHANGED()
ON_WM_TIMER()
ON_WM_CHAR()
ON_WM_DESTROY()
//}}AFX_MSG_MAP
ON_MESSAGE( UPDATESELECTEDCLASS,UpdateAvailClass)
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CAvailClassEdit message handlers
void CAvailClassEdit::OnCaptureChanged(CWnd *pWnd)
{
// TODO: Add your message handler code here
if (!m_uiTimer == 0)
{
KillTimer( m_uiTimer );
m_uiTimer = 0;
}
CEdit::OnCaptureChanged(pWnd);
}
void CAvailClassEdit::OnTimer(UINT nIDEvent)
{
// TODO: Add your message handler code here and/or call default
/*if (nIDEvent == AvailClassEditTimer)
{
MessageBox(_T("Timer"));
KillTimer( m_uiTimer );
m_uiTimer = 0;
return;
}*/
CEdit::OnTimer(nIDEvent);
}
void CAvailClassEdit::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags)
{
// TODO: Add your message handler code here and/or call default
if (m_uiTimer < 0 || m_uiTimer > 0)
{
KillTimer( m_uiTimer );
m_uiTimer = 0;
}
if (nChar == 13)
{
CBrowseforInstances *pParent =
reinterpret_cast<CBrowseforInstances *>
(GetParent());
pParent->SendMessage(UPDATESELECTEDCLASS,0,0);
pParent->OnButtonadd();
// return;
}
else
{
m_uiTimer = (UINT) SetTimer(AvailClassEditTimer, AvailClassEditTimer, SelectClassAfterDelay);
}
CEdit::OnChar(nChar, nRepCnt, nFlags);
}
void CAvailClassEdit::OnDestroy()
{
if (!m_uiTimer == 0)
{
KillTimer( m_uiTimer );
m_uiTimer = 0;
}
CEdit::OnDestroy();
// TODO: Add your message handler code here
}
BOOL CAvailClassEdit::PreTranslateMessage(MSG* pMsg)
{
switch (pMsg->message)
{
case WM_KEYUP:
if (pMsg->wParam == VK_ESCAPE)
{
CBrowseforInstances *pParent =
reinterpret_cast<CBrowseforInstances *>
(GetParent());
pParent->m_bEscSeen = TRUE;
}
}
return CEdit::PreTranslateMessage(pMsg);
}
LRESULT CAvailClassEdit::UpdateAvailClass(WPARAM, LPARAM)
{
if (!m_uiTimer == 0)
{
KillTimer( m_uiTimer );
m_uiTimer = 0;
CBrowseforInstances *pParent =
reinterpret_cast<CBrowseforInstances *>
(GetParent());
pParent->PostMessage(UPDATESELECTEDCLASS,0,0);
}
return 0;
}