我知道世界上只有少数CAA程序员,但我还是尝试一下...

我无法使键盘事件起作用。我发现此代码看起来合理,但通知不会触发。

AddAnalyseNotificationCB(CATFrmLayout::GetCurrentLayout()->GetCurrentWindow()->GetViewer(),
                        CATKeyboardEvent::ClassName(),
                        (CATCommandMethod)&PROTrvTreeView::OnKeyboardEvent, NULL);

void PROTrvTreeView::OnKeyboardEvent(CATCommand * ipCmd, CATNotification * ipEvt, CATCommandClientData iobjData) {
    cout<< "KeyboardEvent" <<endl;
}

有人知道吗?

最佳答案

CAA的开发人员群体更为密集:

http://www.3ds.com/alliances/c-java-developers/forum/

提出了同样的问题,有几个人提到此API是未经授权的,因此即使有效,您也不能依赖它。

那里的其他示例与您的代码本质上是相同的代码,但是唯一一个声称可以工作的代码不使用CATKeyboardEvent::ClassName,而是使用“CATKeybdEvent”。也许值得尝试一下。

10-04 14:36