程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> mfc單文檔-VC++程序調試,出現winocc.cpp中的問題!!!

mfc單文檔-VC++程序調試,出現winocc.cpp中的問題!!!

編輯:編程綜合問答
VC++程序調試,出現winocc.cpp中的問題!!!

我自己編寫了一個單文檔的小程序,然後運行程序之後出現中斷,進過調試尋找到是winocc.cpp中的void CWnd::GetProperty和void CWnd::SetProperty兩個函數中的_ASSERT(m_pCtrlSite != NULL);均出現錯誤。希望大神能幫忙指出錯誤類型!!!謝謝!!!
這是出錯部分代碼!!
float* try::fun1( )//創建指定區域

{ GET dlg;

dlg.DoModal();

static float h[4]={dlg.m_x1,dlg.m_y1,dlg.m_x2,dlg.m_y2};

CMapX m_ctrlMapX; // 調試的時候出現cMapx hWnd=0x0000000

CMapXLayers allLr=m_ctrlMapX.GetLayers(); //取得圖層集合

CMapXLayer Lr=allLr.CreateLayer("Stlayer",NULL, 2, 32);

CMapXStyle lineSty; //線圖元

COleVariant vt;

vt.vt=VT_DISPATCH;

CMapXFeature newFeature; //新建圖元

CMapXPoint pt; //點圖元

CMapXPoints pts; //點集合

pt.CreateDispatch(pt.GetClsid());

pts.CreateDispatch(pts.GetClsid());

pts.RemoveAll();

pt.Set(dlg.m_x1,dlg.m_y1); //線的起點

pts.Add(pt);

pt.Set(dlg.m_x2,dlg.m_y2); //線的終點

pts.Add(pt);

vt.pdispVal=pts.m_lpDispatch;

vt.pdispVal->AddRef();//此句不可缺

CMapXFeatureFactory factory=m_ctrlMapX.GetFeatureFactory();

CMapXFeature sidefeature=factory.CreateLine(vt);
//創建線圖元

lineSty=sidefeature.GetStyle(); //設置線圖元的風格

lineSty.SetLineColor(miColorBlue);

lineSty.SetLineStyle(36);

sidefeature.SetStyle(lineSty.m_lpDispatch);

Lr.AddFeature(sidefeature);

Lr.Refresh(); //將創建的圖元加入到圖層中

return h;
}

最佳回答:


CWnd類只有Create後才會獲取HWND句柄,你說的domodal函數其實是針對CDialog類的一種窗口顯示函數

CWnd類在create後通過ShowWindow函數來顯示

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved