做了一个小效果,单击osg中的图片产生一个dialog窗口
首先是MFC自定义消息 http://www.360doc.com/content/12/0810/10/6973384_229360436.shtml
将消息加在了MFCView.h和.cpp中,
自己写了一个类从OSG向MFC传消息
.h
#define WM_USERMESSAGE WM_USER+100
class Send
{
public:
Send(HWND hWnd):m_hWnd(hWnd)
{
}
void sendM(std::string name);
~Send(){};
private:
HWND m_hWnd;
};
.cpp
void Send::sendM(std::string name)
{
std::string tmp=name;
SendMessage(m_hWnd,WM_USERMESSAGE,(WPARAM)0,(LPARAM)&tmp);
//PostMessage(m_hWnd,WM_USERMESSAGE,(WPARAM)0,(LPARAM)&tmp);
}
OSG初始化时加m_send = new Send(m_hWnd);
ButtonHandler中构造函数改为ButtonHandler(osgViewer::Viewer *viewer,Send* p_send):mViewer(viewer),lastSelect(0),m_send(p_send){}