登录论坛

查看完整版本 : Matlab在C ++ GUI中直接绘图


poster
2019-12-14, 20:13
我正在使用matlab编译器从我的m文件生成c ++共享库。是否可以在c ++ GUI中直接显示matlab图(不在单独的窗口中)?



回答:

我找到了简单的解决方案。如果您使用的是Windows,则可以将父级设置为matlab窗口。这样的事情。

HWND h = FindWindow(L"SunAwtFrame", L"Figure 1"); void MatlabViewerHack::EmbedMatlabPlot(HWND h) { SetWindowPos(h,NULL,rect.left(), rect.top(), rect.width(), rect.height(),0); SetWindowLong(h, GWL_STYLE,WS_CHILD|WS_VISIBLE); SetParent(h, parent_widget); //dynamic_cast(parent())->winId() //updating ui_state, windows xp, window 7 SendMessage(h, WM_UPDATEUISTATE, UIS_INITIALIZE, 0); SendMessage(parent_widget, WM_UPDATEUISTATE, UIS_INITIALIZE, 0); SendMessage(h, WM_CHANGEUISTATE, UIS_INITIALIZE, 0); SendMessage(parent_widget, WM_CHANGEUISTATE, UIS_INITIALIZE, 0); current_window = h; }

更多&回答... (https://stackoverflow.com/questions/4942088)