Matlab строит графики прямо внутри c ++ GUI - PullRequest
3 голосов
/ 09 февраля 2011

Я использую компилятор Matlab для генерации общей библиотеки c ++ из моих m файлов.Можно ли отображать графики Matlab непосредственно в графическом интерфейсе C ++ (не в отдельном окне)?

Ответы [ 2 ]

4 голосов
/ 09 марта 2011

Я нашел простое решение. Если вы используете окна, вы можете просто установить родительское в окно 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<QWidget*>(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;
}
1 голос
/ 09 февраля 2011

MATLAB использует JIDE , который построен на Java / Swing для их пользовательского интерфейса. Встраиваемые фигуры также недоступны для MATLAB Builder JA . Поэтому я думаю, что согласно stijn , встраиваемых графиков нет. Я хотел бы быть доказанным неправым.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...