2014-07-08 31 views
6

Bazı işlevleri gösteren bir matlab m dosyasına sahibim. Matlab kullanarak, net derleme projesi oluşturdum ve son olarak çalışmam gereken bir dll var. Ben C# kullanarak görsel stüdyosunda oluşturulan bir winform uygulaması var ve benim uygulamadan benim dll (matlab oluşturulan) çağrısı. Sonunda yeni pencerede bir grafik aldım (matlabdaki şekil komutu). http://i.stack.imgur.com/cbq5Z.pngwinform uygulamasında matlab figürünü nasıl çizilir?

benim winform app içine matlab figürü gömmek mümkün mü: Örneğin , bu gibi görünüyor?

http://i.stack.imgur.com/S9V9s.png Matlab'de resmini kaydetme ve winform içinde PictureBox yüklemeden iyi bir çözüm değildir, ben figürü işletmek gerekir çünkü (yakınlaştırma, 3d döndürmek).

cevap

4

Matlab plots directly inside c++ GUI

Bu ne ihtiyaç vardır. User32.dll dosyasından FindWindow() yöntemini almanız gerekir. İkinci argüman olarak geçtiğiniz adın penceresine bir işaretçi döndürür. İşaretçiyi aldıktan sonra, User32.dll adlı kullanıcıdan edinebileceğiniz SetParent() yöntemini kullanarak üst öğeyi ayarlamanız gerekir.

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

Ve foundWindow konumunu ve boyutunu SetWindowPos kullanarak() ve SetWindowLong() (User32.dll bu içe) yönetebilir: Formunuza bir işaretçi almak için, this.Handle kullanın.

+0

Mükemmel! Teşekkür ederim! – sagamor

+0

@Denver, Bu kod bilgisayarımda yüklü MATLAB yazılımı gerekiyor mu? –