2014-07-08 4 views
6

나는 matlab m- 파일을 가지고 있는데, 이것은 몇 가지 기능을 보여준다. matlab을 사용하여, 나는 그물 어셈블리 프로젝트를 만들었고, 마지막으로 나는 함께 일할 dll이있다. Visual Studio에서 C#을 사용하여 만든 winform 응용 프로그램이 있고 내 응용 프로그램에서 내 dll (matlab에 생성 된) 호출합니다. 마침내 나는 새 창 (matlab에 그림 명령)에서 그래프를 얻을. http://i.stack.imgur.com/cbq5Z.pngwinform 응용 프로그램 내에서 matlab 그림을 그릴 방법?

가 내의 WinForm 응용 프로그램으로 matlab에 그림을 삽입 할 수 있습니다 : 예를 들어 , 그것은처럼 보이는?

http://i.stack.imgur.com/S9V9s.png MATLAB에서 사진을 저장 및의 WinForm에 PictureBox를 그것을로드 좋은 해결책이 아니다, 내가 그림 작동해야하기 때문에 (줌, 3 차원 회전).

답변

4

Matlab plots directly inside c++ GUI

이 당신이 필요합니다. User32.dll에서 FindWindow() 메서드를 가져와야합니다. 두 번째 인수로 전달한 이름의 창에 대한 포인터를 반환합니다. 포인터를 얻은 후에는 SetParent() 메서드를 사용하여 부모를 설정해야합니다.이 메서드는 User32.dll에서도 가져올 수 있습니다.

IntPtr foundWindow = FindWindow("SunAwtFrame", "Figure 1"); //I belive, this shall give you a pointer to your Matlab window 
SetParent(foundWindow, this.Handle); 

을 그리고 당신은 foundWindow의 위치와 크기를 SetWindowPos()를 사용하고 SetWindowLong 함수() (에서 User32.dll에서 다음을 가져올 수)를 관리 할 수 ​​있습니다 양식에 대한 포인터를 얻기 위해, this.Handle를 사용합니다.

+0

우수! 고맙습니다! – sagamor

+0

@Denver,이 코드는 내 컴퓨터에 MATLAB 소프트웨어를 설치해야합니까? –