我正在使用的一些代碼使用COleDataSource::CacheGlobalData
,傳遞爲CF_TEXT HGLOBAL指向爲文本分配的一些內存。我還想添加一個數字值,因此放置目標可以訪問文本或數字值。COleDataSource - 在應用程序之間設置拖放數據
這怎麼能輕鬆完成?第二個CacheGlobalData調用是否可以使用不同的CF_值進行調用?而且由於我只想傳遞一個整數(DWORD),我可以避免必須分配一個凌亂的HGLOBAL?
還是我必須編碼所有我想發送到一塊內存的數據? CacheGlobalData是否只允許將一個對象附加到拖動事件?
因此,沒有內置類型來傳遞單個DWORD?這看起來很奇怪,當你只想傳遞一個ID時,它會節省很多麻煩。我想你可以使用HGlobal句柄來傳遞一個DWORD值。我不認爲這是一個好主意,但是有沒有理由不起作用? – 2009-12-07 09:04:02
其他程序會被誤導(通過您的格式聲明),認爲它是內存句柄,並拖動它們可能會導致意外的行爲。你沒有它們的源代碼,所以你不知道它們是否都在處理拖拽之前檢查數據的完整性。 – 2009-12-07 15:40:26