// Diese Funktion dient der Behandlung der MenuKommandos vom nutzereigenen // Menu der Erweiterung STDMETHODIMP_(bool) CTextExt :: MenuCommand (WPARAM MenuItemID, HWND hWnd) { m_hWnd = hWnd; char cGeo; switch (MenuItemID) { case IDM_CHOICE: // (s. TEMPLATE.H) { CTextDlg dlg (MWind (), m_pHelper); if (dlg.DoModal() == IDOK)// Aufruf des modalen Dialogfensters { DEX_RePaint(); return TRUE; } } break; case IDM_OBRECH: { CTxtReDlg redlg (MWind (), m_hWnd, m_hMenu, m_pHelper); if (redlg.DoModal() == IDOK)// Aufruf des Recherchefensters { DEX_RePaint(); return TRUE; } } break; case IDM_OBABH: { CDlgAbh abdlg (MWind (), m_pHelper); if (abdlg.DoModal() == IDOK) { DEX_RePaint(); return TRUE; } } break; case IDM_OBREABH: { cGeo = '0'; m_pHelper -> AbhaengTextObj ( m_hWnd, 0, FALSE, &cGeo); DEX_RePaint(); return TRUE; } break; case IDM_ORLOESCH: { cGeo = '0'; m_pHelper -> AbhaengTextObj ( m_hWnd, 0, TRUE, &cGeo); DEX_RePaint(); return TRUE; } break; } return FALSE; }
void CLogiTextGate::OnOpen(CLogiView* pView) { ASSERT_VALID(this); CTextDlg dlg; dlg.m_pTextText = m_pTextText; dlg.m_csFileName = m_csFileName; dlg.m_iStyle = m_iStyle; dlg.m_csPathName = pView->GetDocument()->GetPathName(); if (dlg.DoModal() != IDOK) return; pView->GetDocument()->BeginManualEdit(this); // for undo system if (m_iStyle != dlg.m_iStyle) { for (int i=0;i<Contacts;i++) { if (Node[i] != m_pDocument->m_pAnodeNULL) { pView->MessageBox(L"Device cannot be connected when changing number of inputs", L"Error"); return; } } for (int i=0;i<4;i++) Node[i] = m_pDocument->m_pAnodeNULL; } m_pTextText = dlg.m_pTextText; m_csFileName = dlg.m_csFileName; m_iStyle = dlg.m_iStyle; if (m_iStyle == 1) { Inputs = 4; } else { Inputs = 0; } Contacts = Outputs + Inputs; Invalidate(); ResizeRect(); Invalidate(); SetContacts(); m_pDocument->SetModifiedFlag(); }