ShowLineRemoveDlg Example for C++ 5.0 and later
void CDialogs::OnShowLineRemoveDlg() { HRESULT hr; int nRet; ILEADRasterDlgKrn_U *m_pRasterDlgKrn = NULL; hr = CoCreateInstance(CLSID_LEADRasterDlgKrn_U, NULL, CLSCTX_ALL, IID_ILEADRasterDlgKrn_U, (LPVOID*)&m_pRasterDlgKrn); ILEADRasterDlgImgDoc_U *m_pRasterDlgImgDoc = NULL; hr = CoCreateInstance(CLSID_LEADRasterDlgImgDoc_U, NULL, CLSCTX_ALL, IID_ILEADRasterDlgImgDoc_U, (LPVOID*)&m_pRasterDlgImgDoc); nRet = m_pRasterDlgKrn->InitDlg(INIT_WITH_COLOR); m_pRasterDlgImgDoc->LineRemove->GapLength = 3; m_pRasterDlgImgDoc->LineRemove->MaxLineWidth = 9; m_pRasterDlgImgDoc->LineRemove->MaxWallPercent = 10; m_pRasterDlgImgDoc->LineRemove->MinLineLength = 400; m_pRasterDlgImgDoc->LineRemove->Variance = 3; m_pRasterDlgImgDoc->LineRemove->Wall = 15; m_pRasterDlgImgDoc->LineRemove->Flags = LINE_USE_DPI | LINE_USE_VARIANCE; m_pRasterDlgImgDoc->LineRemove->PutRemoveFlags((LineRemoveConstants)LINEREMOVE_VERTICAL); m_pRasterDlgImgDoc->PutModificationColor(RGB ( 0, 255, 0 )); m_pRasterDlgImgDoc->UIFlags = LINEREMOVE_SHOW_PREVIEW | LINEREMOVE_SHOW_TOOL_ZOOMLEVEL; m_pRasterDlgImgDoc->Bitmap = m_pLead1.GetBitmap(); nRet = m_pRasterDlgImgDoc->ShowLineRemoveDlg((long)m_hWnd); if (nRet == 0 && m_pRasterDlgImgDoc->DialogStatus == DLG_OK) { m_pLead1.LineRemove(0, m_pRasterDlgImgDoc->LineRemove->MinLineLength, m_pRasterDlgImgDoc->LineRemove->MaxLineWidth, m_pRasterDlgImgDoc->LineRemove->Wall, m_pRasterDlgImgDoc->LineRemove->MaxWallPercent, m_pRasterDlgImgDoc->LineRemove->GapLength, m_pRasterDlgImgDoc->LineRemove->Variance, m_pRasterDlgImgDoc->LineRemove->GetRemoveFlags() ); } }