static InputManager ^ m_instance = gcnew InputManager();//这是什么c++语法???

mirroatl144 2014-06-17 11:50:53

namespace MyGUI
{
namespace Managed
{
public ref class InputManager
{
private:
InputManager() { }

public:
static property InputManager ^ Instance
{
InputManager ^ get( )
{
if (mInputManager == nullptr)
{
mInputManager = MyGUI::InputManager::getInstancePtr();
if (mInputManager == nullptr)
{
throw gcnew System::NullReferenceException();
}
}
return m_instance;
}
}

public:
property bool KeyFocus
{
bool get()
{
return mInputManager->getKeyFocusWidget() != nullptr;
}
}

public:
property bool MouseFocus
{
bool get()
{
return mInputManager->getMouseFocusWidget() != nullptr;
}
}

public:
property Widget ^ KeyFocusWidget
{
Widget ^ get()
{
return Convert< MyGUI::Widget* >::To(mInputManager->getKeyFocusWidget());
}
void set(Widget ^ _widget)
{
mInputManager->setKeyFocusWidget( Convert< MyGUI::Widget* >::From(_widget) );
}
}

public:
property Widget ^ MouseFocusWidget
{
Widget ^ get()
{
return Convert< MyGUI::Widget* >::To(mInputManager->getMouseFocusWidget());
}
}

public:
void ResetKeyFocus()
{
mInputManager->setKeyFocusWidget(nullptr);
}

public:
void AddWidgetModal(Widget ^ _widget)
{
mInputManager->addWidgetModal( Convert< MyGUI::Widget* >::From(_widget) );
}

public:
void RemoveWidgetModal(Widget ^ _widget)
{
mInputManager->removeWidgetModal( Convert< MyGUI::Widget* >::From(_widget) );
}

public:
bool InjectMouseMove(int _absx, int _absy, int _absz)
{
return mInputManager->injectMouseMove( _absx, _absy, _absz);
}

public:
bool InjectMousePress(int _absx, int _absy, MouseButton _id)
{
return mInputManager->injectMousePress( _absx, _absy, Convert< MyGUI::MouseButton >::From(_id) );
}

public:
bool InjectMouseRelease(int _absx, int _absy, MouseButton _id)
{
return mInputManager->injectMouseRelease( _absx, _absy, Convert< MyGUI::MouseButton >::From(_id) );
}

public:
bool InjectKeyPress(KeyCode _key, System::UInt32 _char)
{
return mInputManager->injectKeyPress( Convert< MyGUI::KeyCode >::From(_key), Convert<unsigned int>::From(_char) );
}

public:
bool InjectKeyRelease(KeyCode _key)
{
return mInputManager->injectKeyRelease( Convert< MyGUI::KeyCode >::From(_key) );
}

private:
static InputManager ^ m_instance = gcnew InputManager();
static MyGUI::InputManager* mInputManager = nullptr;
};
}
}




...全文
121 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
羽飞 2014-06-18
  • 打赏
  • 举报
回复
是VS里面用的,C++.net
蒋晟 2014-06-18
  • 打赏
  • 举报
回复
C++/CLI或者C++/CX

65,213

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧