Schowek: Za pomocą mechanizmu OLE Schowka
OLE używa standardowych formatów i niektóre formaty OLE do przesyłania danych do Schowka.
Gdy wyciąć lub skopiować dane z aplikacji, dane są przechowywane w Schowku ma być używany w dalszej części operacji wklejania.Dane są w różnych formatach.Gdy użytkownik wybierze wkleić dane ze Schowka, aplikacji można wybrać, który z tych formatów, aby użyć.Wybierz format, który zawiera większość informacji, chyba że użytkownik wyraźnie prosi o formacie Liitä määräten powinny być zapisywane aplikacji.Przed kontynuowaniem warto przeczytać obiekty danych i źródeł danych (OLE) tematy.Opisują one fundamenty jak dane przenosi pracy i sposobów ich implementacji w aplikacji.
System Windows określa liczbę standardowych formatów, które mogą być używane do przesyłania danych do Schowka.Obejmują one metaplików, tekst, bitmapy i inne.OLE definiuje liczbę OLE formaty, jak również.Aplikacje, które bardziej szczegółowo niż podana przez tych standardowych formatów jest dobrym pomysłem, aby zarejestrować swoje własne niestandardowe formaty Schowka.Użyj funkcji interfejsu API Win32 RegisterClipboardFormat w tym celu.
Na przykład program Microsoft Excel rejestruje format niestandardowy dla arkuszy kalkulacyjnych.Format ten prowadzi znacznie więcej informacji niż na przykład, jest mapą bitową.Po wklejeniu te dane do aplikacji, która obsługuje format arkusza kalkulacyjnego, formuły i wartości z arkusza kalkulacyjnego są zachowywane i można aktualizować, jeśli to konieczne.Program Microsoft Excel umieszcza również dane w Schowku w formatach, dzięki czemu mogą być wklejane jako element OLE.Każdy pojemnik dokumentu OLE można wkleić informacji, jak osadzony element.Ten element osadzony można zmienić przy użyciu programu Microsoft Excel.Schowek zawiera również proste mapa bitowa obrazu zaznaczonego zakresu w arkuszu kalkulacyjnym.To również mogą być wklejane, do kontenery OLE w dokumencie lub edytorów bitmapy, takie jak farby.W odniesieniu do bitmapy jednak istnieje sposobem operowania na danych arkusza kalkulacyjnego.
Aby pobrać maksymalną ilość informacji ze Schowka, aplikacje należy sprawdzić tych formatów niestandardowych przed wklejeniem danych ze Schowka.
Na przykład aby włączyć polecenie Wytnij, zapisać uchwyt zbliżoną do następującej:
void CMyListView::OnEditCut()
{
// Create an OLE data source on the heap
COleDataSource* pData = new COleDataSource;
// Get the currently selected data
HGLOBAL hGlob = GlobalAlloc(GMEM_FIXED, 64);
strcpy_s((char*)hGlob, 64, "Current selection\r\n");
// For the appropriate data formats...
pData->CacheGlobalData( CF_TEXT, hGlob );
// The Clipboard now owns the allocated memory
// and will delete this data object
// when new data is put on the Clipboard
pData->SetClipboard();
}