Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#1 |
高级会员
注册日期: 2019-11-21
帖子: 3,006
声望力: 66 ![]() |
![]()
我正在使用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; } 更多&回答... |
![]() |
![]() |