Все про тот же WM_KEYDOWN
От: Mechanic55  
Дата: 20.12.04 13:50
Оценка:
Привет всем!
При создании ActiveX не получается обработать нажатие стрелок.... да и других клавиш тоже... Тема избита, но че-то не выходит ничего у меня... Класс мой вот какой:
class ATL_NO_VTABLE CAXAcoustic2Obj : 
    public CComObjectRootEx<CComSingleThreadModel>,
    public IDispatchImpl<IAXAcoustic2Obj, &IID_IAXAcoustic2Obj, &LIBID_AXAcoustic2Lib, /*wMajor =*/ 1, /*wMinor =*/ 0>,
    public IPersistStreamInitImpl<CAXAcoustic2Obj>,
    public IOleControlImpl<CAXAcoustic2Obj>,
    public IOleObjectImpl<CAXAcoustic2Obj>,
    public IOleInPlaceActiveObjectImpl<CAXAcoustic2Obj>,
    public IViewObjectExImpl<CAXAcoustic2Obj>,
    public IOleInPlaceObjectWindowlessImpl<CAXAcoustic2Obj>,
    public ISupportErrorInfo,
    public IConnectionPointContainerImpl<CAXAcoustic2Obj>,
    public CProxy_IAXAcoustic2ObjEvents<CAXAcoustic2Obj>, 
    public IPersistStorageImpl<CAXAcoustic2Obj>,
    public ISpecifyPropertyPagesImpl<CAXAcoustic2Obj>,
    public IQuickActivateImpl<CAXAcoustic2Obj>,
    public IDataObjectImpl<CAXAcoustic2Obj>,
    public IProvideClassInfo2Impl<&CLSID_AXAcoustic2Obj, &__uuidof(_IAXAcoustic2ObjEvents), &LIBID_AXAcoustic2Lib>,
    public CComCoClass<CAXAcoustic2Obj, &CLSID_AXAcoustic2Obj>,
    public CComControl<CAXAcoustic2Obj>

т.е стандартный... все что визард предложил, то и взяли

Обрабатываю OnKeyDown:
LRESULT CAXAcoustic2Obj::OnKeyDown(UINT /*uMsg*/, WPARAM wParam, LPARAM /*lParam*/, BOOL& /*bHandled*/)
{
  switch (wParam)
  {
  case VK_LEFT:
    m_SignalGraph->KeyDown(VK_LEFT);
    break;
  case VK_RIGHT:
    m_SignalGraph->KeyDown(VK_RIGHT);
  }
    return 0;
}


Никакой реакции нет
Пытался в PreTranslateAccelerator добавить код:
  if (pMsg->message == WM_KEYDOWN)
  {
      //m_SignalGraph->Set0XY(true);
    BOOL bHandled = true;
    OnKeyDown(pMsg->message, pMsg->wParam, pMsg->lParam, bHandled);
    return bHandled;
  }
    return __super::PreTranslateAccelerator(pMsg, hRet);


Главное с нажатием клавиш мыши проблем нет никаких.... В чем тут дело? Как думаете?

Диалога здесь нет и OnGetDlgCode обработать не получиться
Re: Все про тот же WM_KEYDOWN
От: Mechanic55  
Дата: 20.12.04 15:26
Оценка:
Извините .... тема закрыта.... своми силами так сказать
Расскажи плиз как ты это сделал? Таже проблема! :(
От: gwg-605 Россия  
Дата: 24.12.04 13:36
Оценка:
Здравствуйте, Mechanic55, Вы писали:

M>Извините .... тема закрыта.... своми силами так сказать
... << RSDN@Home 1.1.4 beta 3 rev. 185>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.