ShowHolePunchRemoveDlg Example for C++ 5.0 and later
void CDialogs::OnShowHolePunchRemoveDlg() { 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->HolePunchRemove->MinHoleCount = 2; m_pRasterDlgImgDoc->HolePunchRemove->MaxHoleCount = 4; m_pRasterDlgImgDoc->HolePunchRemove->MinHoleWidth = 5; m_pRasterDlgImgDoc->HolePunchRemove->MinHoleHeight = 5; m_pRasterDlgImgDoc->HolePunchRemove->MaxHoleWidth = 10; m_pRasterDlgImgDoc->HolePunchRemove->MaxHoleHeight = 10; m_pRasterDlgImgDoc->HolePunchRemove->PutLocation((HolePunchRemoveConstants)HOLEPUNCH_LEFT); m_pRasterDlgImgDoc->HolePunchRemove->Flags = HOLEPUNCH_USE_DPI; m_pRasterDlgImgDoc->UIFlags = HOLEPUNCHREMOVE_AUTOPROCESS| HOLEPUNCHREMOVE_SHOW_PREVIEW | HOLEPUNCHREMOVE_SHOW_TOOL_ZOOMLEVEL; m_pRasterDlgImgDoc->WhiteAreaColor = RGB(255, 0, 0); m_pRasterDlgImgDoc->BlackAreaColor = RGB(0, 0, 255); m_pRasterDlgImgDoc->Bitmap = m_pLead1.GetBitmap(); nRet = m_pRasterDlgImgDoc->ShowHolePunchRemoveDlg((long)m_hWnd); if (nRet == 0 && m_pRasterDlgImgDoc->DialogStatus == DLG_OK) { m_pLead1.HolePunchRemove(m_pRasterDlgImgDoc->HolePunchRemove->Flags, m_pRasterDlgImgDoc->HolePunchRemove->MinHoleCount, m_pRasterDlgImgDoc->HolePunchRemove->MaxHoleCount, m_pRasterDlgImgDoc->HolePunchRemove->MinHoleWidth, m_pRasterDlgImgDoc->HolePunchRemove->MinHoleHeight, m_pRasterDlgImgDoc->HolePunchRemove->MaxHoleWidth, m_pRasterDlgImgDoc->HolePunchRemove->MaxHoleHeight, m_pRasterDlgImgDoc->HolePunchRemove->GetLocation()); } }