將拖放: 自訂
拖放功能的預設實作是滿足大部分應用程式。 不過,某些應用程式可能需要變更這種標準行為。 本文說明若要變更這些預設值所需的步驟。 此外,您可以使用這項技術來建立應用程式不支援為置放來源的複合文件。
如果您正在自訂標準的 OLE 拖放行為,或者您有一個非 OLE 應用程式,您必須建立COleDataSource擁有資料的物件。 當使用者開始拖放作業時,您的程式碼應該呼叫DoDragDrop函式,從這個物件,而不是從其他支援拖放作業的類別。
(選擇性) 您可以建立COleDropSource物件來控制卸除,並覆寫一些函式取決於您想要變更的行為的類型。 此置放來源物件接著會傳給COleDataSource::DoDragDrop若要變更這些函式的預設行為。 這些不同的選項讓您很大的彈性,您在應用程式中支援拖放作業的方式。 如需有關資料來源的詳細資訊,請參閱文章資料物件與資料來源 (OLE)。
您可以覆寫下列函式來自訂拖放作業:
覆寫 |
若要自訂 |
---|---|
OnBeginDrag |
如何啟始拖曳之後您呼叫DoDragDrop。 |
GiveFeedback |
視覺回饋,例如游標外觀,為不同的拖放效果。 |
QueryContinueDrag |
拖放作業的終止。 這項功能可讓您在拖曳作業期間檢查輔助按鍵的狀態。 |