通信工程原理之基于COM的MatIab的參數(shù)處理[5]

互聯(lián)網(wǎng)技術 責任編輯:wuyunaa 2012-03-20

摘要://注意SetWindowLong()和SetWindowPos()先后順序,詳見MSDN::SetWindowLong(hFig,GWL_STYLE,lStyle&(~WS_CAPTION)&(~WS_THICKFRAME))::SetWindowPos(hFig,NULL,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE|SWP_NOZORDER|SWP_NOACTIVATE|SWP_FRAMECHANGED);CRectPlotRec;CWnd*PlotArea=GetDlgItem(IDC_STATIC_FIGURE);

 

//注意SetWindowLong()和SetWindowPos()先后順序,詳見MSDN

::SetWindowLong(hFig,GWL_STYLE,lStyle&(~WS_CAPTION)&(~WS_THICKFRAME))

::SetWindowPos(hFig,NULL,0,0,0,0,SWP_NOMOVE|SWP_

NOSIZE|SWP_NOZORDER|SWP_NOACTIVATE|SWP_

FRAMECHANGED);CRect PlotRec;

CWnd *PlotArea = GetDlgItem(IDC_STATIC_FIGURE);                                       //設置圖像顯示區(qū)域

PlotArea->GetWindowRect(&PlotRec);

long Width = PlotRec.right - PlotRec.left;

long Height = PlotRec.bottom - PlotRec.top;

::SetParent(hFig,PlotArea->GetSafeHwnd());

//設置圖像的父窗口

::SetWindowPos(hFig,NULL,0,0,Width,Height,SWP_NOZORDER|SWP_NOACTIVATE);

3.2基于Bitmap類的圖像嵌入

通過Bitmap類將Matlab生成的。bmp文件加載到VC工程中,使用Bitmap類中的成員函數(shù)對圖像進行處理。由于相關函數(shù)可以通過幫助手冊獲取,所以此處不再給出相應代碼,運行結果如圖2所示。該方法避免了方法一生成圖像時的閃爍現(xiàn)象,但是BMP圖像顯示效果較差而且無法使用Matlab提供的工具菜單,這是其不足之處。

使用COM組件進行混合編程時,往往習慣于在VC平臺下思考所遇到的問題,但是這樣不僅使得問題可能變得復雜化,或得不到妥善解決,而且也違背了“混合”的初衷。二維數(shù)組參數(shù)處理就是一個很好的例證。其次,充分利用Matlab特性可以使得程序具備良好的擴展性和穩(wěn)定性,對Excel文件讀取方式進行的擴展,明顯使軟件更加人性化。對于圖像嵌入問題,雖然文中提出的兩種嵌入方式可以滿足基本需求,但是仍然存在一些瑕疵,還需要進一步研究。

[1]  [2]  [3]  [4]  [5]  

更多資料
更多課程
更多真題
溫馨提示:因考試政策、內容不斷變化與調整,本網(wǎng)站提供的以上信息僅供參考,如有異議,請考生以權威部門公布的內容為準!

通信工程師備考資料免費領取

去領取

距離2025 通信工程師考試

還有
  • 2
  • 2
  • 0
專注在線職業(yè)教育24年

項目管理

信息系統(tǒng)項目管理師

廠商認證

信息系統(tǒng)項目管理師

信息系統(tǒng)項目管理師

!
咨詢在線老師!