Schowek: Dodawanie innych formatów
W tym temacie objaśniono rozwiń listę obsługiwanych formatów, szczególnie dla wsparcia OLE.Temat Schowek: kopiowanie i Pasting danych opisano minimalną wykonania niezbędnych do obsługi, kopiowanie i wklejanie ze Schowka.Jeśli wszystkie zaimplementowaniem, tylko formaty, umieszczane w Schowku są CF_METAFILEPICT, CF_EMBEDSOURCE, CF_OBJECTDESCRIPTORi ewentualnie CF_LINKSOURCE.Większość aplikacji należy więcej formatów w Schowku niż te trzy.
Rejestrowanie niestandardowe formaty
Aby utworzyć własne niestandardowe formaty, wykonaj tę samą procedurę, należy użyć podczas rejestrowania wszelkich niestandardowy format Schowka: przekazać nazwę formatu do RegisterClipboardFormat funkcję i użyć jej wartości zwracanej jako identyfikator formatu.
Formaty wprowadzania do Schowka
Aby dodać więcej formatów umieszczane w Schowku, należy zastąpić OnGetClipboardData funkcji klasy pochodzące od albo COleClientItem lub COleServerItem (w zależności od tego, czy dane mają być kopiowane jest macierzystym).W tej funkcji należy użyć następującej procedury.
Aby umieścić formaty w Schowku
Tworzenie COleDataSource obiektu.
Przekazywać tego źródła danych do funkcji, która dodaje użytkownika formaty danych w trybie macierzystym do listy obsługiwanych formatów, wywołując COleDataSource::CacheGlobalData.
Dodawanie standardowych formatów, wywołując COleDataSource::CacheGlobalData dla każdego standardowego formatu chcesz obsługiwać.
Ta technika jest używany w programie próbki MFC OLE HIERSVR (zbadać OnGetClipboardData Członkowskich funkcji CServerItem klasy).Jedyna różnica w tej próbce jest ten krok 3 nie jest zaimplementowana, ponieważ HIERSVR obsługuje innych standardowych formatów.