Schowek: kopiowanie i wklejanie danych

W tym temacie opisano minimalne prac niezbędnych do wdrożenia, kopiowanie i wklejanie ze Schowka w aplikacji OLE.Zaleca się przeczytanie obiekty danych i źródeł danych (OLE) tematy przed kontynuowaniem.

Przed zaimplementowaniem albo kopiowanie lub wklejanie, najpierw trzeba określić funkcje do obsługi opcji Kopiuj, Wytnij i Wklej w menu Edycja.

Kopiowanie lub wycinanie danych

Aby skopiować dane do Schowka

  1. Określić, czy dane mają być kopiowane są danych w trybie macierzystym lub osadzonego lub połączonego elementu.

    • Jeśli dane został osadzony czy połączony, uzyskać wskaźnik do COleClientItem obiekt, który został wybrany.

    • Jeśli aplikacja jest serwerem danych jest macierzystym, należy utworzyć nowy obiekt pochodzące z COleServerItem zawierające zaznaczone dane.W przeciwnym wypadku utwórz COleDataSource obiektu danych.

  2. Wywołanie wybranego elementu CopyToClipboard funkcji składowej.

  3. Jeśli użytkownik wybrał operację cięcia, a nie operacji kopiowania, Usuń zaznaczone dane z aplikacji.

Aby zapoznać się z przykładem tej sekwencji, zobacz OnEditCut i OnEditCopy programy przykładowe funkcje w MFC OLE OCLIENT i HIERSVR.Należy zauważyć, że próbki te Obsługa wskaźnik do aktualnie wybranych danych, więc krok 1 została już zakończona.

Wklejanie danych

Wklejanie danych jest bardziej skomplikowane niż skopiowanie go, ponieważ trzeba wybrać format używany w wkleić dane do aplikacji.

Aby wkleić danych ze Schowka

  1. W klasie widoku implementuje OnEditPaste do obsługi użytkowników, wybierając opcję Wklej z menu Edycja.

  2. W OnEditPaste funkcji, tworzenie COleDataObject obiektu i wywołania jego AttachClipboard funkcji członka na ten obiekt połączony danych w Schowku.

  3. Wywołanie COleDataObject::IsDataAvailable do sprawdzenia, czy w określonym formacie jest dostępna.

    Alternatywnie można użyć COleDataObject::BeginEnumFormats do poszukiwania innych formatów, aż znajdziesz najlepiej dostosowane do aplikacji.

  4. Wykonać Wklej format.

Na przykład, jak to działa, zobacz wykonania OnEditPaste funkcji elementów członkowskich w widoku klas zdefiniowanych w programy MFC OLE próbki OCLIENT i HIERSVR.

PoradaPorada

Główną zaletą rozdzielenia operacji wklejania do własnej funkcji jest że sam Wklej kod może być używany po upuszczeniu danych w aplikacji podczas operacji przeciągania i upuszczania.Jak w OCLIENT i HIERSVR z OnDrop można również wywołać funkcję DoPasteItem, ponowne używanie kod napisany w celu wykonania operacji wklejania.

Aby obsłużyć polecenia Wklej specjalnie w menu Edycja, zobacz temat Okien dialogowych w OLE.

O czym chcesz się dowiedzieć więcej?

Zobacz też

Informacje

Schowek: korzystanie z mechanizmu schowka OLE